我正在尝试在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:意外令牌附近的语法错误`('
请帮忙解决此问题。
答案 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(',')