Работа с 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 в качестве инструмента, который поможет вам сделать это, то да, это немного сложнее. Вы могли бы:
- Преобразование пути к файлу, как описано в разделе Как преобразовать объект пути Hadoop в объект файла Java (но принятый ответ предполагает, что это не имеет смысла)
- Расширьте JWI для работы с Путем вместо Файла
- Используйте WordNet удаленно. Существует интерфейс REST, предоставленный abbreviations.com. Если это не подходит, вы можете написать свой собственный файл или даже импортировать WordNet в базу данных (например, Titan или neo4j), а затем искать его в любом месте кластера Hadoop.