0
-f usecatalogオプションを使用して豚スクリプトを実行しようとしていますが、問題が出ています。 それは、ファイルがhdfsファイルシステムに存在するのがわかりますが、スクリプトは存在しないと言います。下記参照。豚スクリプトが存在しません.HDFSで見ることができます。
[[email protected] ec2-user]$ pig -useHCatalog -f /user/admin/pig/scripts/hcat1.pig
WARNING: Use "yarn jar" to launch YARN applications.
16/04/01 13:44:13 INFO pig.ExecTypeProvider: Trying ExecType : LOCAL
16/04/01 13:44:13 INFO pig.ExecTypeProvider: Trying ExecType : MAPREDUCE
16/04/01 13:44:13 INFO pig.ExecTypeProvider: Picked MAPREDUCE as the ExecType
2016-04-01 13:44:13,645 [main] INFO org.apache.pig.Main - Apache Pig version 0.15.0.2.3.4.0-3485 (rexported) compiled Dec 16 20 15, 04:30:33
2016-04-01 13:44:13,645 [main] INFO org.apache.pig.Main - Logging error messages to: /tmp/hsperfdata_hdfs/pig_1459532653643.log
2016-04-01 13:44:14,184 [main] ERROR org.apache.pig.Main - ERROR 2997: Encountered IOException. File /user/admin/pig/scripts/hca t1.pig does not exist
Details at logfile: /tmp/hsperfdata_hdfs/pig_1459532653643.log
2016-04-01 13:44:14,203 [main] INFO org.apache.pig.Main - Pig script completed in 753 milliseconds (753 ms)
[[email protected] ec2-user]$ hadoop fs -cat /user/admin/pig/scripts/hcat1.pig
a = load 'trucks' using org.apache.hive.hcatalog.pig.HCatLoader();
b = filter a by truckid == 'A1';
store b INTO '/user/admin/pig/scritps/outputb1';
HDFS上の豚のスクリプトを保存するのはなぜ?このファイルは、分散ストレージが必要な大きさではありません。 –
Ok ..しかし、スクリプトファイルをocalサーバーに保存すると、mapreduceモードでジョブを実行できます。 –
ファイルの内容はstdinを介して、おそらくgruntシェルにストリーミングされます。このファイルをHDFS上に置いても同じことが尋ねられます。ファイルは、実行するジョブのためにダウンロードする必要があります。 –