庆典:靠近意外的标记'(”语法错误 - 猪,CentOS的
问题描述:
我想在猪中执行以下命令庆典:靠近意外的标记'(”语法错误 - 猪,CentOS的
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:意外标记附近的语法错误`('
请帮忙解决这个问题。
答
最有可能的问题是浮点数类型的数据。您需要将第四个和第五个字段的数据类型更改为从int浮点数。 如果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);
或者,您可以检查问题是否是由不指定在这种情况下,默认的数据类型将是字节组架构中的数据类型。
emp_bag = LOAD '/home/training/dvs/emp.csv' using PigStorage(',')
+0
没有运气。尝试,它没有工作:(。 有没有什么特殊的字符问题? – Priyanka
+0
为什么你有一个null在你的文本文件?使用chararray为这些字段,因为浮动不能接受'null' –
后的样本数据看起来是正确的 –
这里是样本数据 - 7369,SMITH,秘书,800.00,空,20 – Priyanka
我没有看到共享的示例代码段的任何问题。 –