之前总是用全家桶方式玩大数据栈,总觉得有点儿戏。
这两天把自己的 Hadoop/Hive/Spark 集群环境搭好了,准备正式的做点试验,写点文章。
所以干货文章即将到来,小伙伴们,你们的赞准备好了嘛?
我这里用到一张表,叫做 tblobj2. 熟悉 sql server 一定不陌生,其实就是从 sql server 导了一张系统表 sys.objects 到 Hive 里面。具体方法可以参考这里:
使用 Sqoop 将 30W MySQL 数据导入 Hive
这是 Hive 的第一篇公开文,讲解 group by 用法。
其余的文章存着,大家热情起来了,我再慢慢放。觉得小编嘚瑟的朋友,砖可以拍过来了。
扯远了,回归正题,这里是 5 道 Hive 的 group by 应用题,大家有兴趣先做着。我会在星球里公布正式答案。
已知表结构如下:
image
表的前 10 行数据 sample 如下:
image
需求得:
- 按照 schema_id, type_desc 为分组的记录总数,如下:
image
- 按照 schema_id, type_desc 为分组的记录总数,以及按照 schema_id 为分组的记录总数,且两个分组的记录总数需要合并到一个结果集,如下:
image
3.按照 schema_id, type_desc 为分组的记录总数,以及按照 type_desc 为分组的记录总数,且两个分组的记录总数需要合并到一个结果集,如下:
image
- 按照schema_id, type_desc 各自为分组,并汇总所有数据的总数,最终结果展示在一个结果集,如下:
image
- 按照 schema_id type_desc, schema_id 为分组依据求分组总数, 并合并所有数据总计到一个结果集:
image
要求: 必须使用一个 SELECT ..Group by 求解,而不是 union all/union
其实不仅仅是 Hive, SQL Server/Oracle 都有自己的 Group by 子选项案例。这里有篇旧文,可供参考:
真以为自己懂 Group By 了?
想了解 Hadoop/Hive/Spark 集群搭建,别求公司的 DevOps 大师们了,他们是爷爷不会理你的。开玩笑啦,其实他们才忙呢,自个儿能解决的问题,作为 IT 人别偷懒就是了。看这里:
Spark SQL 与 Hive 的第一场会师
Spark 高难度对话 SQL Server 后记
周末两三事儿:大数据专栏以及百题SQL学习营