Hadoop 配置单元查询:按状态分组数据并获得十年计数

Hadoop 配置单元查询:按状态分组数据并获得十年计数,hadoop,mapreduce,hive,Hadoop,Mapreduce,Hive,我是一个蜂群新手,这看起来像是一个棘手的问题。任何帮助都将不胜感激。我们有各州的事故数据,我们有每月和每年的事故统计数据 我们如何将数据按状态分组,将所有月份的事故数字相加,得到12年的总和。输出应为状态名称,帐户类型:。事故类型为“道路事故”、“铁路道路事故”、“其他铁路事故” 我们创建了下表和 正如我在数据中看到的,您错过了配置单元模式中的最后一列“TOTAL”。如果该列存在,那么下面的查询将完成您的工作 select STATE, AcciddentType, sum(TOTAL) as

我是一个蜂群新手,这看起来像是一个棘手的问题。任何帮助都将不胜感激。我们有各州的事故数据,我们有每月和每年的事故统计数据

我们如何将数据按状态分组,将所有月份的事故数字相加,得到12年的总和。输出应为状态名称,帐户类型:。事故类型为“道路事故”、“铁路道路事故”、“其他铁路事故”

我们创建了下表和


正如我在数据中看到的,您错过了配置单元模式中的最后一列“TOTAL”。如果该列存在,那么下面的查询将完成您的工作

select STATE, AcciddentType, sum(TOTAL) as GrandTotal
where AcciddentType!='Total'
group by STATE, AcciddentType;
更新: 如果配置单元架构中没有最后一列“TOTAL”,则以下查询将起作用:

select STATE, AcciddentType, (
sum(JANUARY) +
sum(FEBRUARY) +
sum(MARCH) +
sum(APRIL) +
sum(MAY) +
sum(JUNE) +
sum(JULY) +
sum(AUGUST) +
sum(SEPTEMBER) +
sum(OCTOBER) +
sum(NOVEMBER) +
sum(DECEMBER)
) as GrandTotal
where AcciddentType!='Total'
group by STATE, AcciddentType;

假设Total列不存在,那么可能的查询是什么。
select STATE, AcciddentType, (
sum(JANUARY) +
sum(FEBRUARY) +
sum(MARCH) +
sum(APRIL) +
sum(MAY) +
sum(JUNE) +
sum(JULY) +
sum(AUGUST) +
sum(SEPTEMBER) +
sum(OCTOBER) +
sum(NOVEMBER) +
sum(DECEMBER)
) as GrandTotal
where AcciddentType!='Total'
group by STATE, AcciddentType;