猪查询给出错误(位置参数分组依据)
Pig query giving error (positional parameter group by)
如果你能解释我做错了什么,我将不胜感激。
脚本在大部分情况下都有效,但是当我使用分组依据和转储结果时,我收到错误提示 other_vertex_failure;
示例数据
1,苹果,5.5
2,橙色,2.5
2,橙色,4.5
3,猕猴桃,1.5
3,猕猴桃,3.5
4,香蕉,4.0
4,香蕉,6.0
A = LOAD '/user/pig/apple.csv' USING PigStorage(','); **--this works**
B = FOREACH A GENERATE [=10=] as ids:int, as fruit:chararray,
as quan:int; **--this works**
C = GROUP B BY ids; **--this works gives no error**
但是当我转储 C 时;它会抛出错误。
在 pig 中使用带有位置参数的名称是个坏主意吗?
您可以将 alias
分配给 LOAD
本身的字段。
由于您还没有完成,字段默认输入 bytearray
。当它尝试将 bytearray
转换为 int
时,它会抛出 ClassCastException
.
A = LOAD '/user/pig/apple.csv' USING PigStorage(',') as (ids:int, fruit:chararray, quan:float);
C = GROUP A BY ids;
dump C;
(1,{(1,Apple,5.5)})
(2,{(2,Orange,4.5),(2,Orange,2.5)})
(3,{(3,Kiwi,3.5),(3,Kiwi,1.5)})
(4,{(4,Banana,6.0),(4,Banana,4.0)})
如果你能解释我做错了什么,我将不胜感激。
脚本在大部分情况下都有效,但是当我使用分组依据和转储结果时,我收到错误提示 other_vertex_failure;
示例数据
1,苹果,5.5
2,橙色,2.5
2,橙色,4.5
3,猕猴桃,1.5
3,猕猴桃,3.5
4,香蕉,4.0
4,香蕉,6.0
A = LOAD '/user/pig/apple.csv' USING PigStorage(','); **--this works**
B = FOREACH A GENERATE [=10=] as ids:int, as fruit:chararray,
as quan:int; **--this works**
C = GROUP B BY ids; **--this works gives no error**
但是当我转储 C 时;它会抛出错误。
在 pig 中使用带有位置参数的名称是个坏主意吗?
您可以将 alias
分配给 LOAD
本身的字段。
由于您还没有完成,字段默认输入 bytearray
。当它尝试将 bytearray
转换为 int
时,它会抛出 ClassCastException
.
A = LOAD '/user/pig/apple.csv' USING PigStorage(',') as (ids:int, fruit:chararray, quan:float);
C = GROUP A BY ids;
dump C;
(1,{(1,Apple,5.5)})
(2,{(2,Orange,4.5),(2,Orange,2.5)})
(3,{(3,Kiwi,3.5),(3,Kiwi,1.5)})
(4,{(4,Banana,6.0),(4,Banana,4.0)})