Латинская свинья Hadoop не может транслировать через скрипт на питоне - PullRequest
3 голосов
/ 13 апреля 2011

У меня есть простой скрипт на python (moo.py), который я пытаюсь транслировать, хотя

import sys, os
for line in sys.stdin:
    print 1;

и я пытаюсь запустить этот скрипт свиньи

DEFINE CMD `python moo.py` ship('moo.py');
data = LOAD 's3://path/to/my/data/*' AS (a:chararray, b:chararray, c:int, d:int);
res = STREAM data through CMD;
dump res;

когда я запускаю этот сценарий pig локальный (pig -x local), все в порядке, но когда я запускаю его без -x local, он выводит эту ошибку

[main] ОШИБКА org.apache.pig.tools.grunt.Grunt - ОШИБКА 2017: Внутренняя ошибка при создании конфигурации задания.

[файл журнала]

Причина: java.io.FileNotFoundException: файл moo.py не существует.

есть идеи?

Ответы [ 2 ]

5 голосов
/ 13 апреля 2011

это, скорее всего, проблема относительного пути.

try:

DEFINE CMD `python moo.py` ship('/local/path/to/moo.py');

также может быть проблема разрешения на чтение / запись / выполнение.

0 голосов
/ 30 августа 2011

Проблема была в том, что я использовал ship() функцию вместо cache() пока ship() работает файл - передача локальных файлов от мастера к рабам cache() используется рабами для получения файлов из доступного места такие как s3 на амазоне

надеюсь, что это поможет кому-либо:]

...