【问题标题】:How can I find average, sum and count of values of a single column in Pig?如何在 Pig 中找到单个列的平均值、总和和计数?
【发布时间】:2016-12-02 06:29:51
【问题描述】:

我有一个变量 car_age,它在整个 CSV 文件中保存汽车年龄的不同值。如何取所有值的平均值?我需要用 car_age 值的平均值(或平均值)替换异常值。 这是我目前正在做的事情。

training_data= LOAD '/user/All_State_Insurance_Prediction_Dataset/sampled_training_dataset/sampled_training_set';
A1 = foreach training_data generate car_age;
B1= Distinct A1;

B1 包含不同的车龄值。如何找到 B1 中值的平均值、总和和计数?我没有使用 Group By,因为我需要在单个值列表上完成这些操作。

【问题讨论】:

  • 如何在不分组的情况下找到平均值、计数或总和,因为所有这些函数都是聚合函数。你必须在 apache pig 中给出一个分组列
  • 但是如果我想要所有值的平均值而不考虑列,就像上面的情况一样?如果不可能,查询会是什么样子?

标签: count sum apache-pig average


【解决方案1】:

试试这个来做平均

training_data= LOAD '/user/All_State_Insurance_Prediction_Dataset/sampled_training_dataset/sampled_training_set' USING PigStorage();

A1 = foreach training_data generate car_age;

B1= Distinct A1;

B1_grouped = GROUP B1 all;

B1_avg = FOREACH B1_grouped GENERATE AVG(B1);

SUM 和其他聚合函数也可以这样做

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多