Как загрузить временный вывод Hadoop Pig из задания, остановленного из-за сбоя сети? - PullRequest
1 голос
/ 13 января 2012

У меня было запущено задание Pig, но я забыл проверить команду, и когда большая часть задания закончилась (4 часа сопоставления), фаза сокращения никогда не начиналась, возможно, из-за того, что Pig больше не выполнялся.У меня есть вывод из Mapper в pig_tmp, но я не могу понять, как перезагрузить его с Piglatin.

Часть карты (я полагаю) была мной, используя STREAMING, и вывод был (chararray, float, float).

Согласно Pig Docs , Pigиспользует BinStorage() "для загрузки и хранения временных данных, которые генерируются между несколькими заданиями MapReduce."Исходя из этого, я безуспешно попробовал следующее:

A = LOAD '.pig_tmp/tmp-238234234/tmp23423423/part-m-00000' 
    USING BinStorage() AS (col1:chararray, col2:float, col3:float);
DUMP A;
-- "Inputs(s): Successfully read 0 records (5402065 bytes) from "..."

не повезло, поэтому не пытайтесь вводить типы по столбцам:

A = LOAD '.pig_tmp/tmp-238234234/tmp23423423/part-m-00000' 
    USING BinStorage() AS (col1, col2, col3);
DUMP A;
-- "Inputs(s): Successfully read 0 records (5402065 bytes) from "..."

все равно не повезло, поэтому пробовать без столбцов

A = LOAD '.pig_tmp/tmp-238234234/tmp23423423/part-m-00000' 
    USING BinStorage();
DUMP A;
-- "Inputs(s): Successfully read 0 records (5402065 bytes) from "..."

Я повторил это с 1, 2, 3, 4 и 5 столбцами в блоке "AS (...)", думая, что, возможно, Pig добавляет туда дополнительные столбцы.Также не повезло.

Если я просматриваю вывод файла, это явно двоичные данные (и размером 5 МБ, как упоминалось выше).

...