Помощь свиньи Hadoop Stream - PullRequest
       23

Помощь свиньи Hadoop Stream

3 голосов
/ 28 июля 2011

У меня проблемы с запуском потоковой передачи. Когда я запускаю интерактивный экземпляр pig (к вашему сведению, я делаю это на главном узле интерактивного pig-экземпляра AWS EMR через SSH / Putty) только с одной машиной, на которой отлично работает потоковая передача свиньи (она также работает на моем образе Windows Cloudera VM). ). Однако, когда я переключаюсь на использование более одного компьютера, он просто перестает работать и выдает различные ошибки.

Обратите внимание, что:

  • Я могу запускать сценарии Pig, в которых нет потоковых команд, без проблем на экземпляре с несколькими компьютерами.
  • вся моя работа со свиньями выполняется в режиме свиньи MapReduce, а не в –x локальном режиме.
  • мой скрипт на python (stream1.py) имеет это сверху #! / Usr / bin / env python

Ниже приведен небольшой пример опций, которые я пробовал до сих пор (все приведенные ниже команды выполняются в оболочке grunt на главном / главном узле, к которому я обращаюсь через ssh / putty):

Вот так я получаю файл python на узел mater, чтобы его можно было использовать:

cp s3n://darin.emr-logs/stream1.py stream1.py
copyToLocal stream1.py /home/hadoop/stream1.py
chmod 755 stream1.py

Это мои различные потоковые сообщения:

cooc = stream ct_pag_ph through `stream1.py`
dump coco;
ERROR 2090: Received Error while processing the reduce plan: 'stream1.py ' failed with exit status: 127

cooc = stream ct_pag_ph through `python stream1.py`;
dump coco;
ERROR 2090: Received Error while processing the reduce plan: 'python stream1.py ' failed with exit status: 2

DEFINE X `stream1.py`; 
cooc = stream ct_bag_ph through X;
dump coco;
ERROR 2090: Received Error while processing the reduce plan: 'stream1.py ' failed with exit status: 127

DEFINE X `stream1.py`; 
cooc = stream ct_bag_ph through `python X`;
dump coco;
ERROR 2090: Received Error while processing the reduce plan: 'python X ' failed with exit status: 2

DEFINE X `stream1.py` SHIP('stream1.py');
cooc = STREAM ct_bag_ph THROUGH X;
dump cooc;
ERROR 2017: Internal error creating job configuration.

DEFINE X `stream1.py` SHIP('/stream1.p');
cooc = STREAM ct_bag_ph THROUGH X;
dump cooc;

DEFINE X `stream1.py` SHIP('stream1.py') CACHE('stream1.py');
cooc = STREAM ct_bag_ph THROUGH X;
ERROR 2017: Internal error creating job configuration.

define X 'python /home/hadoop/stream1.py' SHIP('/home/hadoop/stream1.py');
cooc = STREAM ct_bag_ph THROUGH X;

1 Ответ

2 голосов
/ 29 июля 2011
DEFINE X `stream1.py` SHIP('stream1.py');

Кажется действительным для меня согласно вашим предварительным условиям и наличию stream1.py в вашем текущем локальном каталоге.

Способ быть уверенным в этом:

DEFINE X `python stream1.py` SHIP('/local/path/stream1.py');

Цель SHIP - скопировать команду в рабочем каталоге всех задач.

...