我想知道有没有可能在Pig/Hive中对相应的几个列进行换位。
在处理数据时,我得到的数据低于要求
id jan feb march
1 j1 f1 m1
2 j2 f2 m2
3 j3 f3 m3
我需要把它和第一列对调,这样看起来-
id value month
1 j1 jan
1 f1 feb
1 m1 march
2 j2 jan
2 f2 feb
2 m2 march
3 j3 jan
3 f3 feb
3 m3 march
我已经用java尝试过了,但是要让它进入分布式模式,有没有办法在pig/hive中实现呢。
提前感谢您的帮助!!
2条答案
按热度按时间ldioqlga1#
是的,这在hive中使用内置的“stack”udf和case语句是绝对可能的。这样的方法应该有用:
让我知道这是否有效。
iklwldmw2#
pig没有任何内置函数来解决您的需求,但是您可以尝试下面的方法,我猜它会对您有用。
输入文件
Pig手稿:
输出: