首页 > 解决方案 > Pig ParquetLoader:列修剪

问题描述

我阅读了具有 12 列架构的镶木地板文件。我对单个长列进行分组和汇总聚合。然后加入另一个数据集。加入后,我只从镶木地板数据集中取一列(总和一列)。

但是猪不断地给我错误=>“ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2000: Error processing rule ColumnMapKeyPrune. Try -t ColumnMapKeyPrune”

猪拼花装载机不支持列修剪吗?如果我尝试禁用列修剪,则工作有效。我想要实现的伪代码。

REGISTER /<path>/parquet*.jar;
res1 = load '<path>' using parquet.pig.ParquetLoader() as (c1:chararray,c2:chararray,c3:int, c4:int, c5:chararray, c6:chararray, c7:chararray, c8:chararray, c9:chararray, c10:chararray, c11:chararray, c12:long);
res2 = group winrate  by (c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11);
res3 = foreach res2 generate flatten(group) as (c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11),SUM(res1.c12) as counts;

标签: apache-pigparquet

解决方案


推荐阅读