gpt4 book ai didi

hadoop - 使用结果数据筛选另一个数据,Hadoop Pig。

转载 作者:可可西里 更新时间:2023-11-01 16:33:40 28 4
gpt4 key购买 nike

标题可能有点困惑,所以我将展示我想要实现的目标。

假设我有一个只有 int 的数据。

10
20
30
40
50
60
70
80
90

数据叫做data.csv什么的

我也是

A = load 'data.csv' using PigStorage(',');

它会把它加载到A

然后我使用这些数据并计算它的平均值。

我做的

B = foreach A generate int;
C = group B all;
avg = foreach C generate AVG(B.int);

(忽略小的语法错误,你明白了)

所以如果我转储 avg,我将得到一个表示数据 A 平均值的整数。

所以,现在我要做的是

通过仅具有高于平均值的数据来过滤掉数据 A。

像这样

X = filter A by int > avg

但它不喜欢我使用数据变量来进行过滤器比较。

我该如何实现?

最佳答案

生成原始数据和平均值,然后进行过滤:

A = load 'data.csv' using PigStorage(',');
B = foreach A generate int;
C = group B all;
D = foreach C generate FLATTEN(B.int), AVG(B.int) AS avg;
E = filter D by int > avg;

关系 D 将是您所有的原始行,并将平均值附加为第二个字段。

关于hadoop - 使用结果数据筛选另一个数据,Hadoop Pig。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17309731/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com