tuple作为hadoopMap器中的一个键

q0qdq0h2  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(371)

我需要在mapreduce工作中使用2个元素的“元组”作为键。
i、 我希望我的map任务输出一对 (first_key,second_key), value 我试过用 ArrayWritable ,但在运行我的代码后,我遇到了一个错误 ArrayWritable 不适合执行这样的任务,因为它不能执行 WritableComparable (不管是什么意思)所以,不能用作钥匙。
奇怪的是,我找不到任何“正确”的解决方案,我的问题,将工作100%没有附加条件。有什么建议吗?

9o685dep

9o685dep1#

如果你不想实施 WritableComparable 你可以用 new Text(key1.toString() + "\t" + key2.toString()) 作为关键。

wkftcu5l

wkftcu5l2#

mapreduce作业中的任何键都必须实现writeablecomparable,而不是 ArrayWritable .
一定是的 Comparable 这样hadoop就可以对(键、值)对进行排序。所以在您的例子中,一个解决方案可以是创建自己的类来实现 WritableComparable .

相关问题