地图减少工作设计

时间:2015-06-23 18:26:02

标签: hadoop mapreduce

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

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) 

任何人都可以帮我设计这个

由于 DM

1 个答案:

答案 0 :(得分:0)

您可以这样做:

  1. 从每个地图生成输出,如下所示:(任意键,但每行相同)

    SOMEKEY P3 cp1

    SOMEKEY P6 cp2

    SOMEKEY P9 cp3

    ...

  2. 在reducer中,您只能获得一个键:

    SOMEKEY(P3 cp1)(P6 cp2)(p9 cp3)..

  3. 构建cp1,cp2,cp3列表。之后,它以您想要的格式轻松发出密钥

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

    p6 - >列表(CP1,CP2,CP3,CP4,CP5)

    ...

  4. 如果您还需要代码,请告诉我。