Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 如何从配置单元中的日期中提取月份并按月分组_Hadoop_Hive_Hiveql - Fatal编程技术网

Hadoop 如何从配置单元中的日期中提取月份并按月分组

Hadoop 如何从配置单元中的日期中提取月份并按月分组,hadoop,hive,hiveql,Hadoop,Hive,Hiveql,我有下面的蜂巢表,现在我需要根据每个月的平均值对数据进行分组 配置单元表示例: dat amazon tesla infosys facebook apple 03/01/17 753.67 808.01 216.99 14.74 116.86 04/01/17 757.18 807.77 226.99 15.13 118.69 05/02/17 780.45 813.02 226.75 15.02 120.6

我有下面的蜂巢表,现在我需要根据每个月的平均值对数据进行分组

配置单元表示例:

 dat        amazon  tesla  infosys  facebook  apple 
 03/01/17  753.67   808.01 216.99   14.74     116.86
 04/01/17  757.18   807.77 226.99   15.13     118.69
 05/02/17  780.45   813.02 226.75   15.02     120.67
 06/05/17  795.99   825.21 229.01   14.82     123.41
样本输出:

month  amazon  tesla  infosys  facebook  apple 
 1     782.2   843.23 548.87    24.42    143.35
 2     743.2   896.12 453.34    44.34    143.55

我需要每个月的平均值,请帮我回答几个问题:没有年份的月份有什么用?是不是只有一年的时间?日期是dd/MM/yy格式的,对吗?如果初始表格中的最大值是808.01,那么特斯拉第一个月的平均值是843.23,这又是怎么发生的呢?其他数字也一样。为什么输出中没有第5个月?
select cast(substr(dat, 4, 2) as int) as month,
       avg(amazon)                    as amazon,
       avg(tesla)                     as tesla,
       avg(infosys)                   as infosys,
       avg(facebook)                  as facebook,
       avg(apple)                     as apple
  from tablename
 group by cast(substr(dat, 4, 2) as int);