我需要使用存储在本地文本文件中的信息初始化映射器中的对象。有没有这样做的机制?
答案 0 :(得分:0)
您可以将文件上传到HDFS,然后将其添加到分布式缓存中,使映射器可以从工作目录加载。
将本地文件上传到HDFS并将其放在分布式缓存中由通用-files
选项
hadoop pipes -files localfile.txt <other pipes options>
现在要在映射器中加载文件,只需打开一个同名文件(localfile.txt)的文件(你可以假设它在当前的工作目录中)。
答案 1 :(得分:0)
将文件本地存储在客户端上。读取并序列化它并将其添加到Job conf对象。 在mapper和reducer的设置方法中,从conf对象中读取值并对其进行反序列化。
COnf对象只存储字符串。因此,您需要在序列化时将其转换为String对象。