ローカルの HDFS にファイルがあり、':::' で区切られています。
ただし、次のコマンドを使用している場合
A = load '/user/vishal/WordCount/hw3data/c0001' using PigStorage(':::') as (a, b, c);
次のエラーが表示されます----
エラー 1200: 引数 '[:::]' で 'PigStorage' をインスタンス化できませんでした
正確には何が問題になる可能性がありますか?
ありがとう
ローカルの HDFS にファイルがあり、':::' で区切られています。
ただし、次のコマンドを使用している場合
A = load '/user/vishal/WordCount/hw3data/c0001' using PigStorage(':::') as (a, b, c);
次のエラーが表示されます----
エラー 1200: 引数 '[:::]' で 'PigStorage' をインスタンス化できませんでした
正確には何が問題になる可能性がありますか?
ありがとう
PigStorage は、1 文字の区切り記号のみをサポートします。
解決策は、Donald の回答に従うか、カスタム ローダーを作成したくない場合はMyRegExLoader を参照することです。あなたの場合、次のようになります。
REGISTER '/my_pig_home/contrib/piggybank/java/piggybank.jar'
A = LOAD '/user/vishal/WordCount/hw3data/c0001'
USING org.apache.pig.piggybank.storage.MyRegExLoader(
'([^\\:]+):::([^\\:]+):::([^\\:]+)')
as (a:chararray, b:chararray, c:chararray);