2017-10-16 10 views
0

私は、次のコマンドを実行しようとしています豚でbashの:構文の予期しないトークンの近くにエラーが `(」 - PIG、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:予想外のトークンに近い構文エラー `( '

これを解決するためにお手伝いください。

+0

ポストサンプルデータここでは、正しい –

+0

は、データ - 7369サンプルで見え、SMITH、CLERK、800.00、ヌル、20 – Priyanka

+0

は私が共有サンプルスニペットですべての問題が表示されません。 –

答えて

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(',') 
+0

いいえ、運がありません。ここに特殊文字の問題はありますか? – Priyanka

+0

なぜテキストファイルにnullがありますか?floatは 'null'を受け入れることができないので、これらのフィールドにはchararrayを使用してください。 –

1

bashでpigコマンドを実行していますか?

はいの場合は、まず豚コンソールを起動してから実行してください。

豚を入力して入力します。 emp.csv.The構文から

+0

ありがとうございました。 – Priyanka

関連する問題