hadoop - apache pig中一列的最大值
问题描述
我正在尝试使用 pig 找到列 ratingTime 的最大值。我在脚本下面运行:
ratings = LOAD '/user/maria_dev/ml-100k/u.data' AS (userid:int,movieID:int,rating:int, ratingTime:int);
maxrating = MAX(ratings.ratingTime);
DUMP maxrating
样本输入数据为:
196 242 3 881250949
186 302 3 891717742
22 377 1 878887116
244 51 2 880606923
我收到以下错误:
2018-08-05 07:02:05,247 [main] INFO org.apache.pig.backend.hadoop.PigATSClient - Created ATS Hook
2018-08-05 07:02:05,914 [main] ERROR org.apache.pig.PigServer - exception during parsing: Error during parsing. <file script.pi
解决方案
GROUP ALL
在申请之前你需要一个前置MAX
。资源
ratings = LOAD '/user/maria_dev/ml-100k/u.data' USING PigStorage('\t') AS (userid:int,movieID:int,rating:int, ratingTime:int);
rating_group = GROUP ratings ALL;
maxrating = FOREACH ratings_group GENERATE MAX(ratings.ratingTime);
DUMP maxrating;
推荐阅读
- html - 使用 HTML 生成的 pdf 第二页上的重叠标题
- php - 如何在前端显示 WooCommerce 变体 ACF 字段
- postgresql - 我们可以在将数据从 s3 导入 RDS postgres 时进行转换吗?
- python - 我收到此错误 ValueError: int is not allowed for map key while using Spacy and Msgpack
- r - tabsetPanel / tabPanel R 闪亮的工具提示
- c - 未定义的 _write 引用,在库中实现
- css - 我的“推送”论点和我的待办事项 css 可能有什么问题?
- javascript - 在从 GET 请求填充数组之前反应渲染
- google-cloud-platform - Cloud Run 修订版之间的镜像请求
- git - 在 git 中重新存储更改