Работа с RAMDictionary и hadoop

Я пытаюсь использовать интерфейс WordIt MIT при работе с hadoop. Этот интерфейс использует объект RAMDictionary, конструктор которого должен получить файл, указывающий местоположение папки wordnet. Я скопировал эту папку в hdfs, но не могу создать из нее объект File, только путь.

Кто-нибудь знает, как я могу обойти это?

1 ответ

Это зависит от того, что вы пытаетесь сделать.

Вы говорите, что работаете с Hadoop. Вы пытаетесь использовать Hadoop для обработки самих файлов словаря WordNet? Если это так, вам может не понадобиться RAMDictionary, только парсер. Например:

// for each line in each WordNet data file
ISynset synset = DataLineParser.getInstance().parseLine(line);
// do stuff with each synset

Однако, если вы обрабатываете что-то еще и хотите использовать словарь WordNet в качестве инструмента, который поможет вам сделать это, то да, это немного сложнее. Вы могли бы:

  1. Преобразование пути к файлу, как описано в разделе Как преобразовать объект пути Hadoop в объект файла Java (но принятый ответ предполагает, что это не имеет смысла)
  2. Расширьте JWI для работы с Путем вместо Файла
  3. Используйте WordNet удаленно. Существует интерфейс REST, предоставленный abbreviations.com. Если это не подходит, вы можете написать свой собственный файл или даже импортировать WordNet в базу данных (например, Titan или neo4j), а затем искать его в любом месте кластера Hadoop.
Другие вопросы по тегам