加入两个没有任何公共密钥的文件

时间:2014-08-11 00:09:50

标签: apache-pig

我有2个输入文件第一个文件有2列,第二个文件有三列,它们都有不同的值,如

第一档: 类型:    (字符串)|(整数) 值:

City1|Value1
City2|Value2
City3|Value3

第二档案: 类型:     (字符串)|(字符串)|(整数) 值:

String1|Text1|Int1
String2|Text2|Int2
String3|Text3|Int3

我需要输出为

Text1|City1|Value1
Text2|City2|Value2
Text3|City3|Value3

我可以使用任何程序技能来获得这个,如果猪不可能,那么我也可以使用其他程序。请建议我哪一个会更好,以及如何做到这一点。

请帮助我。谢谢提前

2 个答案:

答案 0 :(得分:1)

你的例子不清楚。如果第一个关系有M个值而第二个有N个值,你期望结果中有M * N个值吗?或者你期望结果中的M = N值

  1. 首先假设(M * N值),您可以使用CROSS操作。
  2. 假设第二个(M = N值),您可以: 一个。在两个关系上使用Enumerate为每个元组添加数字(唯一枚举数)。 湾然后加入枚举数,以确保两个关系的第一行连接,然后第二行,依此类推。
  3. 希望这有帮助。

答案 1 :(得分:0)

如果没有Pig中的常用键,则无法加入。尝试将concat函数用于您的用例