我有一个逗号分隔的文本文件,比如
1,abc,1,
2,def,1,2,3,4
3,ghi,1,2
4,jkl,1,5,6,7,8,9
5,mno
文本文件将始终具有前两个值,但在第二个逗号后将具有0个或更多值。
如何加载此数据并为前两个值提供别名?
我可以通过以下方式加载它,而不为前两个值提供别名:
A = LOAD 'data.txt' USING PigStorage(',');
从这里开始,我可以 B = FOREACH A GENERATE $0 AS foo:chararray, $1 AS bar:chararray;
但它会抛弃剩下的。如果做一个通配符,把其余的放进一个元组,那就太好了。
有什么办法吗?
3条答案
按热度按时间mrzz3bfm1#
试试这个
参考
在清管器中滴入单柱
0sgqnhkj2#
我不知道你需要什么。
试试这个
这将忽略文件中第二个逗号后的其他值。
pb3s4cty3#
或者你也可以创建一个Map来重新定义字段。