bash:意外令牌附近的语法错误`(' - PIG,CentOs

时间:2017-10-16 18:00:47

标签: hadoop apache-pig

我正在尝试在pig

中执行以下命令
7369,SMITH,CLERK,800.00,null,20
7499,ALLEN,SALESMAN,1600.00,300.00,30

脚本

emp_bag = LOAD '/home/training/dvs/emp.csv' using PigStorage(',') AS (eno:int, ename:chararray, job:chararray, sal:int, comm:int, deptno:int);

得到以下错误

  

bash:意外令牌附近的语法错误`('

请帮忙解决此问题。

2 个答案:

答案 0 :(得分:1)

你在bash上运行你的猪命令吗?

如果是,请先启动猪控制台然后再运行它。

只需输入猪并输入。

答案 1 :(得分:0)

最有可能的问题是float类型的数据。你需要将第4和第5个字段的数据类型从int更改为float。 此外,如果null是一个字符串,那么你将不得不使用chararray字段处理它并用''替换'null'。

emp_bag = LOAD '/home/training/dvs/emp.csv' using PigStorage(',') AS (eno:int, ename:chararray, job:chararray, sal:float, comm:float, deptno:int);

或者,您可以通过不指定架构来检查问题是否与数据类型有关,在这种情况下,默认数据类型将是bytearray。

emp_bag = LOAD '/home/training/dvs/emp.csv' using PigStorage(',')