2016-04-19 12 views
0

HBGへのavroファイルをPigを使用してHBaseにインポートしていますが、ユーザー定義関数(UDF)を行IDに適用する必要があります。私はDataFUのウェブサイトからサンプルスクリプトを試してみた、と彼らは正常に完了し、私はそれが完了したスクリプトからSHA()の呼び出しを削除する場合は、だから何Apache DataFUPIgスクリプトのAvroファイルでUDFを使用する

register datafu-pig-incubating-1.3.0.jar 
define SHA datafu.pig.hash.SHA(); 

set hbase.zookeeper.quorum 'localhost'; 
set mapreduce.fileoutputcommitter.marksuccessfuljobs 'false'; 

avro = LOAD '/user/myuser/avro/' USING AvroStorage(); 
partitioned = FOREACH avro GENERATE SHA(ROW_ID) as key,VALUE_1,VALUE_2; 

STORE partitioned INTO 'hbase://MYTABLE' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage('cf:value_1 cf:value_2'); 

からSHA機能を使用しています私は行方不明ですか?

答えて

0

気にしないでください、それは私自身の責任です。 SHA()呼び出しは文字列パラメータを期待しており、ROW_IDはlongとして定義されており、ROW_IDのためにchararrayにキャストを追加しています。

スクリプトを実行した場合、怠け者のワークフローですが、私がgruntシェルに行単位で入力した場合、「partitioned =」行の後にエラーメッセージが表示されます

UDFに問題が発生した場合は、最初にシェルで

関連する問題