我有这样的文件:
cat > hdfs_bag.txt
{(1,pawel,kowalski,36),(4,pawel,kowalski,47)}
{(2,john,smith,55),(5,john,smith,66)}
{(3,paul,psmithski,44),(6,paul,psmithski,88)}
我把它装进一个袋子里:
grunt> a = load 'hdfs_bag.txt' as (b1 : bag { k1:tuple (id, name, surname, age)});
grunt> describe a;
a: {b1: {k1: (id: bytearray,name: bytearray,surname: bytearray,age: bytearray)}}
我想得到的结果是,包中有两个元组,只包含id和age:
({(1,36),(4,47)})
({(2,55),(5,66)})
({(3,44),(6,88)})
你能至少建议一下第一步吗?
当做
棘爪
3条答案
按热度按时间4nkexdtk1#
与前面建议的解决方案类似,使用alias(参考:http://pig.apache.org/docs/r0.10.0/basic.html#relations)
输出:
gg58donl2#
我找到了解决办法:
给出预期结果:
很简单,但不是很明显。。。
q5lcpyga3#
加载数据后
a
clias然后你可以用下面的,与您的代码(涉及$0,$3)相比,此代码的优点是可读性和可理解性更强。