我正试图用这个简单的结构在DataFrame中进行一些聚合:
+--------------------+---------+---------+
| date| data1| data2|
+--------------------+---------+---------+
|2016-01-30 00:10:...| 0.0596| 0.5385|
|2016-01-30 00:20:...| 0.05578| 0.5385|
|2016-01-30 00:30:...| 0.03375| 0.5055|
|2016-01-30 00:40:...| 0.0379| 0.51266|
|2016-01-30 00:50:...| 0.05471| 0.5345|
|2016-01-30 01:00:...| 0.0926| 0.54833|
......
我需要聚合(SUM)数据1和数据2,按日期分组,具有任意粒度(例如,每天、每小时、每周、12小时…)。
我每天都能做到这一点:
SELECT TO_DATE(date) as date, SUM(data1) as data1, SUM(data2) as data2
FROM my_table
GROUP BY TO_DATE(date)
这很好,但我不知道如何实现其他聚合。
您可以尝试以下操作:
SELECT concat(to_date(date), ':', hour(date)) as date_hour
...
GROUP BY date_hour
甚至
SELECT to_date(date), hour(date)
...
GROUP BY to_date(date), hour(date)