作者:mobiledu2502887783 | 来源:互联网 | 2023-08-19 20:48
之前总是用全家桶方式玩大数据栈,总觉得有点儿戏。这两天把自己的HadoopHiveSpark集群环境搭好了,准备正式的做点试验,写点文章。所以干货文章即将到来,小伙伴们,你们的赞准
之前总是用全家桶方式玩大数据栈,总觉得有点儿戏。
这两天把自己的 Hadoop/Hive/Spark 集群环境搭好了,准备正式的做点试验,写点文章。
所以干货文章即将到来,小伙伴们,你们的赞准备好了嘛?
我这里用到一张表,叫做 tblobj2. 熟悉 sql server 一定不陌生,其实就是从 sql server 导了一张系统表 sys.objects 到 Hive 里面。具体方法可以参考这里:
黄赟:使用 Sqoop 将 30W+ MySQL 数据导入 Hive
这是 Hive 的第一篇公开文,讲解 group by 用法。
其余的文章存着,大家热情起来了,我再慢慢放。觉得小编嘚瑟的朋友,砖可以拍过来了。
扯远了,回归正题,这里是 5 道 Hive 的 group by 应用题,大家有兴趣先做着。我会在下一篇公布正式答案。
已知表结构如下:
表的前 10 行数据 sample 如下:
需求得:
- 按照 schema_id, type_desc 为分组的记录总数,如下:
- 按照 schema_id, type_desc 为分组的记录总数,以及按照 schema_id 为分组的记录总数,且两个分组的记录总数需要合并到一个结果集,如下:
1.按照 schema_id, type_desc 为分组的记录总数,以及按照 type_desc 为分组的记录总数,且两个分组的记录总数需要合并到一个结果集,如下:
- 按照schema_id, type_desc 各自为分组,并汇总所有数据的总数,最终结果展示在一个结果集,如下:
- 按照 schema_id + type_desc, schema_id 为分组依据求分组总数, 并合并所有数据总计到一个结果集:
要求:
必须使用一个 SELECT ..Group by 求解,而不是 union all/union