我运行了一个pig作业,但是忘记了筛选命令,当大部分作业完成(4小时的Map)时,reduce阶段从未开始,可能是因为pig不再运行了。我有pig\u tmp中Map器的输出,但是我不知道如何用piglatin重新加载它。
Map部分(我猜)是我用的 STREAMING
,输出为(chararray,float,float)。
根据Pig的文件,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 "..."
我用“as(…)”块中的1、2、3、4和5列重复了这一点,我想可能pig在其中添加了一些额外的列。也不走运。
如果我查看文件的输出,它显然是二进制数据(如上所述是5mb大小)。
暂无答案!
目前还没有任何答案,快来回答吧!