Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hadoop映射器类中的参数_Java_Hadoop_Mapreduce_Hdfs - Fatal编程技术网

Java Hadoop映射器类中的参数

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

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

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

您可以将字典保存在HDFS中,也可以本地保存,也可以远程保存,并且可以将句柄(路径、文件路径或远程URL)作为上下文参数传递给它。在
setup
impl中,使用上下文参数实例化字典。dictionary对象将在
映射器的整个生命周期中一直保留在内存中


如果需要,您可以在
cleanup
方法中进行清理

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

DistributedCache是Map Reduce框架提供的一种工具,用于缓存应用程序所需的文件(文本、归档、JAR等)

在从节点上执行作业的任何任务之前,框架将把必要的文件复制到该节点上。它的效率源于这样一个事实,即每个作业只复制一次文件,并且能够缓存从机上未归档的归档文件

这是你的电话号码