繁体   English   中英

Hadoop Mapper类中的参数

[英]Arguments in Hadoop Mapper Class

我正在开发一种情感分析工具,该工具可以从.txt文件接收内容,并且需要检查字典中的单词是肯定还是否定。 我使用FileInputFormat.addInputPath(args [0])引用包含要分析的单词的.txt文件。 我试图用字典的内容(.txt文件64KB)创建一个ArrayList并将其静态对象传递给Mapper类别中使用的Class ReadDictionary。 可以在eclipse上运行它,但是当我尝试在Hadoop上运行时会出现一些错误。 如何以有效的方式将字典的内容(.txt文件64KB)传递给映射类以在Hadoop(HDFS)上运行?

您可以使用org.apache.hadoop.filecache.DistributedCache来缓存字典文件。

DistributedCache是​​Map-Reduce框架提供的一种工具,用于缓存应用程序所需的文件(文本,档案,jar等)。

在作业的任何任务在该节点上执行之前,该框架会将必要的文件复制到该从节点上。 其效率源于以下事实:每个作业仅复制一次文件,以及缓存未在从属服务器上存档的存档的能力。

这是本教程

org.apache.hadoop.mapreduce.Mapper类中,有一个setup方法,该方法在初始化Mapper时调用。

您可以将字典保存在HDFS中,也可以保存在本地或远程某个地方,还可以将句柄作为上下文参数传递给它(路径,文件路径或远程URL)。 在您的setup ,您可以使用context参数实例化字典。 字典对象将在Mapper整个生命周期中保留在内存中。

您可以根据需要使用cleanup方法对其进行cleanup

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM