使用Hadoop MapReduce
我有一个列表作为输入:
我希望自己获得列表中的笛卡尔积:
f()是一个为一对键赋值的函数。
如何在Java中使用Hadoop MapReduce以简单的方式执行此操作?
当然我无法将整个输入列表保存在内存中。
谢谢!
答案 0 :(得分:1)
您可以在Java map reduce中实现它。我们假设,您希望分别在两个文件A和B之间交叉产品,分别使用拆分3和4。然后你必须编写自定义输入格式来分割两个数据集,然后确保每个数据子集都有一个SPLIT。
所以你的分裂看起来像:
A1 X B1
A1 X B2
A1 X B3
A1 X B4
A2 X B1
A2 X B2
A2 X B3
A2 X B4
A3 X B1
A3 X B2
A3 X B3
A3 X B4