У меня было запущено задание 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 МБ, как упоминалось выше).