Java Hadoop映射器类中的参数
我正在开发一个情绪分析工具,它从.txt文件接收内容,并需要在字典中检查单词是肯定的还是否定的。我使用FileInputFormat.addInputPath(args[0])引用包含要分析的单词的.txt文件。我试图用字典的内容(.txt文件64KB)创建一个ArrayList,并将其作为静态对象传递给Mapper clas中使用的类ReadDictionary。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
在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等)
在从节点上执行作业的任何任务之前,框架将把必要的文件复制到该节点上。它的效率源于这样一个事实,即每个作业只复制一次文件,并且能够缓存从机上未归档的归档文件
这是你的电话号码