hadoop - HADOOP PIG-使用PIG获取记录子集的最大值和最小值

标签 hadoop max apache-pig min

我正在导入CSV文件,其中包含类似于以下内容的数据

----------
ID | VALUE
----------
1  |   1
2  |   1
3  |   1
1  |   2
2  |   2
3  |   2
1  |   3
2  |   3
3  |   3

我要做的是获取每个ID的最大值和最小值。输出将类似于
--------------
ID | MAX | MIN
--------------
1  |  3  |  1
2  |  3  |  1
3  |  3  |  1

我可以使用类似于下面的代码来获取value列的最大值和最小值
MAX_MIN_VALUE = LOAD 'SampleData.csv'  AS (id:chararray, value:int);
MAX_MIN_VALUE_GROUP = GROUP MAX_MIN_VALUE ALL;
WITH_MAX_MIN = FOREACH MAX_MIN_VALUE_GROUP 
       GENERATE
           FLATTEN(MAX_MIN_VALUE.(id)), MAX(MAX_MIN_VALUE.value), MIN(MAX_MIN_VALUE.value);

我正在努力解决的问题是如何过滤数据,以便获得每个id的最大值和最小值。在SQL中,我会进行自我连接,但无法想到PIG中的等效方法。

任何人都可以向我指出正确的方向,以解决在PIG中解决此问题的好方法吗?

在此先感谢您的任何想法,不胜感激!
真皮

最佳答案

您需要GROUP BY id而不是GROUP ALL

关于hadoop - HADOOP PIG-使用PIG获取记录子集的最大值和最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13505589/

相关文章:

c - 在 C 中生成最大值、最小值和平均数

hadoop - 按多个字段分组并输出元组

hadoop - 从其他 Pig 脚本调用 Pig Latin 脚本

MYSQL 帮助 - 操作顺序和子查询

python - 如何使用map reduce识别炎热的天气?

scala - 将 Spark 数据帧写入现有的 Parquet Hive 表中

Hadoop 映射器 : Appropriate input files size?

r - 在 Rcpp 中查找向量中所有最大/最小值的索引

hadoop - Apache pig : Replace null with string

java - 运行 bin/hadoop namenode -format 时出现 fatal error