apache-pig - 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;
解决方案
推荐阅读
- java - 什么可能导致等待状态线程在 Java 8 中一直增加
- python - 将 Pandas 数据框列的所有行转换为逗号分隔的值,每个值都用单引号括起来
- mysql - 在 MySQL 查询中使用 match 转义 %
- javascript - 如何在 HTML Canvas 中进行 scaleToFill 转换后从图像重新计算 BoundingBox 坐标
- javascript - 由合并面构成的剪裁几何体,模板盖面未正确对齐
- c++ - 如何在 gtkmm 的信号处理程序中获取信号小部件?
- c# - 锁对象数组可用于保证对 MyClassArray 的线程安全访问?
- emacs - 从 org-capture 中获取当前缓冲区目录
- google-maps - 用于导航自定义路线的 Google Maps API
- python - 使用python将数据框转换为json