我试图在Pig中使用ASSERT运算符,但面临问题。
A = LOAD 'data' AS (a0:int,a1:int,a2:int);
DUMP A;
(1,2,3)
(4,2,1)
(8,3,4)
(4,3,3)
(7,2,5)
(8,4,3)
ASSERT A by a0 > 0 'a0 should be greater than 0';
以下是日志:
错误1000:解析期间出错。遇到了#34; " ASSERT ""在第3行,第1列。`期待以下之一:
"猫" ...
"清除" ...
.... org.apache.pig.tools.pigscript.parser.ParseException:遇到" " ASSERT""在第3栏第1栏。
请帮助
答案 0 :(得分:1)
ASSERT运算符关键字自0.12.0开发。但是,它没有用,并用Patch PIG-3367.patch修复。虽然,它仍然声称ASSERT从0.12.0支持,但补丁仅发布到0.12.1和0.13.0。所以,如果你想使用ASSERT,请更新你的猪。
答案 1 :(得分:0)
如果使用Pig 0.12:
,请设置逗号ASSERT A by a0 > 0, 'a0 should be greater than 0';
您使用的是哪个猪版?
答案 2 :(得分:0)
支持ASSERT运算符Pig 0.12发布。确保使用的是正确的版本 进行语法更正。在条件 a0> 0
之后添加“逗号”A = LOAD 'data' AS (a0:int,a1:int,a2:int);
DUMP A;
(1,2,3)
(4,2,1)
(8,3,4)
(4,3,3)
(7,2,5)
(8,4,3)
ASSERT A by a0 > 0, 'a0 should be greater than 0';