Я пытаюсь запустить скрипт свиньи с помощью опции -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? Файл недостаточно велик для использования распределенного хранилища. –
Хорошо .. Но как бы я запустил задание в режиме mapreduce, если я сохраню файл сценариев на сервере ocal. –
Содержимое файла будет передано поверх stdin, к командной оболочке, возможно. То же самое можно задать с файлом на HDFS. Файл должен быть загружен для выполнения заданий. –