是否可以从hadoop分区器中的分布式缓存中获取对象?

ozxc1zmp  于 2021-06-04  发布在  Hadoop
关注(0)|答案(0)|浏览(144)

hadoop的分布式缓存允许开发人员将小文件添加到mr上下文中,这些文件可用于在map或reduce阶段获取附加信息。但是,我没有找到一种方法在一个 Partitioner . 我需要一个小文件的内容(早期mr作业的输出)在自定义 Partitioner 确定钥匙如何送到减速器。
不幸的是,我找不到任何有用的文档,我唯一的想法是目前有点“黑客”的方法,这涉及到将文件的内容序列化为base64字符串并将其放入 Configuration . Configuration 可以通过让分区器实现 Configurable . 虽然文件对于这种方法来说足够小(大约50kb),但我认为分布式缓存更适合这种情况。
编辑:我找到了另一种我认为稍微好一点的方法。因为我需要在分区器中访问的文件在hdfs上,所以我将其完全限定为 URI 进入 Configuration . 在我的 PartitionersetConf 方法,然后我可以通过 new Path(new URI(conf.get("some.file.key"))) 在老师的帮助下阅读 Configuration . 不过还是很刻薄。。。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题