嗨,我有一个像这样的大数据集

cp1 -> List(P1,P2,P3)
cp2 -> List(P4,P5,P6)
cp3 -> List(P7,P8,P9)
cp4 -> List(P10,P11,P12)
cp5 -> List(P13,P14,P15)

我想写一个MR作业,它可以产生以下输出。因此,所有键的值都相同。
p3 -> List(cp1,cp2,cp3,cp4,cp5)
p6 -> List(cp1,cp2,cp3,cp4,cp5)
p9 -> List(cp1,cp2,cp3,cp4,cp5)
p12 -> List(cp1,cp2,cp3,cp4,cp5)
p15 -> List(cp1,cp2,cp3,cp4,cp5)

谁能帮我设计这个

谢谢
糖尿病

最佳答案

您可以执行以下操作:

  • 从每个 map 生成输出,如下所示:(使用任何键,但每行相同)

    索美P3 cp1

    索美P6 cp2

    索美P9 cp3

    ...
  • 在reducer中,您只会得到一个密钥:

    SOMEKEY(P3 cp1)(P6 cp2)(p9 cp3)..
  • 列出cp1,cp2,cp3。之后,可以轻松以所需格式发出密钥

    p3->列表(cp1,cp2,cp3,cp4,cp5)

    p6->列表(cp1,cp2,cp3,cp4,cp5)

    ...

  • 让我知道您是否也需要代码。

    08-19 09:14