我正在尝试将包数据类型加载到猪表中,并提出空值。
样本输入:
A000,B000,C000,1.0,1-1-14,3-31-14,{(A101,1-Jan-2014,0.03,0.04)}
A001,B001,C001,10.0,1-1-14,3-31-14,{(A101,1-Jan-2014,0.03,0.045)}
A002,B002,C002,100.0,1-1-14,3-31-14,{(A101,1-Jan-2014,0.03,0.04)}
猪脚本:
raw = LOAD 'input/meh.log' USING PigStorage(',') AS (PID, FUNDID, GICID, balance, startDate, endDate, rates:bag{t:tuple(t1,t2,t3,t4)});
DUMP raw;
输出:
(A000,B000,C000,1.0,1-1-14,3-31-14,)
(A001,B001,C001,10.0,1-1-14,3-31-14,)
(A002,B002,C002,100.0,1-1-14,3-31-14,)
^Bag values should be here
我究竟做错了什么?我尝试从 LOAD 函数中删除包/元组声明,但仍然没有。在处理 Pig 附带的包教程时,我使用了相同的方法,而且效果似乎很好。
更新:如果我设置包输入以便每个元组都有一个值,那么这个脚本就可以工作。我开始认为这可能是我的 Pig 版本(0.12.2)的问题。我必须使用 Ant 构建 Pig,以便它可以在 Hadoop 2.3 上运行。想法?