Не удалось устранить ОШИБКУ 2017: внутренняя ошибка при создании конфигурации задания в EMR при запуске PIG

Я пытался выполнить очень простую задачу с Pig на Amazon EMR. Когда я запускаю команды в интерактивной оболочке, все работает нормально. Но когда я запускаю то же самое, что и пакетное задание, я получаю

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

и запуск скрипта не работает. Вот мой 7-строчный скрипт. Это просто вычисление средних значений по кортежам биграмм Google. mc — это количество совпадений, а vc — это количество томов.

bigrams = LOAD 's3n://<<bucket-name>>/gb­bigrams/*' AS (bigram:chararray, year:int, mc:int, vc:int);
grouped_bigrams = group bigrams by bigram;
answer1 = foreach grouped_bigrams generate group, ((DOUBLE) SUM(bigrams.mc))/COUNT(bigrams) AS avg_mc;
sort_answer1 = ORDER answer1 BY avg_mc desc;
answer2 = LIMIT sort_answer1 5;
STORE answer1 INTO 's3n://<bucket-name>/output/bigram/20130409/answer1';
STORE answer2 INTO 's3n://<bucket-name>/output/bigram/20130409/answer2';

Я предполагал, что ошибка как-то связана с STORE и путем s3. Поэтому я пробовал различные комбинации, такие как использование $OUTPUT, обратной косой черты и т. д., но продолжаю получать ту же ошибку. Любая помощь будет высоко ценится.


person Rahul    schedule 11.04.2013    source источник
comment
Запустите скрипт построчно (с DUMP в конце каждого раздела) и определите, в какой строке вы ошиблись. Это может быть ваш LOAD (неправильная схема), STORE (неправильные разрешения), Casting, неправильное количество скобок..   -  person Guy    schedule 14.04.2013
comment
Привет, @Guy, спасибо за ответ. Моя проблема фактически решена. В имени моего ковша в сценарии был дефис, и я скопировал имя из pdf. Каким-то образом шестнадцатеричный дефис после вставки оказался рекламным вместо 2d, что все испортило.   -  person Rahul    schedule 15.04.2013


Ответы (1)


Пробовали ли вы использовать блочную файловую систему S3 вместо родной файловой системы?

e.g.

s3://<<bucket-name>>/gb­bigrams/*
s3://<bucket-name>/output/bigram/20130409/answer1
person seedhead    schedule 13.04.2013
comment
Да, я пробовал это. Но проблема была с шестнадцатеричным кодом имени моей корзины. Он содержал дефис, но при копировании и вставке имен он получил другой, а не тот, что был по умолчанию. - person Rahul; 15.04.2013