【发布时间】:2018-09-29 05:27:22
【问题描述】:
我知道 - Cassandra 不支持 group by。但是如何在大量数据上实现类似的结果。
假设我有 100 万行 clicks 的表,100 万行 shares 和表 user_profile。 clicks 和 shares 每行存储一个操作,created_at 列。在仪表板上,我想显示按天分组的结果,例如:
2016-06-01 - 2016-07-01
+-------------+--------+------+
|user_profile | like |share |
+-------------+--------+------+
| John | 34 | 12 |
| Adam | 12 | 4 |
| Bruce | 4 | 2 |
+-------------+--------+------+
问题是,我怎样才能以正确的方式做到这一点:
- 使用
counter按日期创建表 user_likes_shares - 为
group by每列创建UDF,并通过键合并数组将它们加入代码中 - 从 3 个表组中选择数据并通过键合并数组将它们加入代码中
- 另一种选择
如果你使用代码来加入结果,你是否使用 Apache Spark SQL,在这种情况下 Spark 是正确的方式吗?
【问题讨论】:
-
您能提供表格的架构吗?另外你的分组依据是什么? (我猜它是通过 URL 来的?)