使用ramdictionary和hadoop

apeeds0o  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(326)

当我在hadoop上工作时,我正在尝试使用mitjwiwordnet接口。此接口使用一个ramdictionary对象,其构造函数需要接收一个指示wordnet文件夹位置的文件。我已将此文件夹复制到hdfs,但无法从中创建文件对象,只能创建路径。
有人知道我怎么解决这个问题吗?

thtygnil

thtygnil1#

这取决于你想做什么。
你说你在用hadoop。你想用hadoop来处理wordnet字典文件吗?如果是这样,您可能不需要ramdictionary,只需要解析器。例如:

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

但是,如果您正在处理其他内容,并且希望使用wordnet字典作为帮助您完成此操作的工具,那么是的,这会稍微复杂一些。你可以:
将路径转换为文件,如how to convert a hadoop path object to a java file object(如何将hadoop路径对象转换为java文件对象)中所述(但公认的答案表明这是不明智的)
扩展jwi以使用路径而不是文件
远程使用wordnet。缩写网站提供了一个rest接口。如果这不合适,您可以编写自己的,或者甚至可以将wordnet导入数据库(例如titan或neo4j),然后从hadoop集群中的任何地方搜索。

相关问题