Hive大体可以分为三大部分, 基础,调优,源码。
常见问题知识点
1、基础
基础部分主要是:Hive的一些概念、DDL数据定义、DML数据操作、hive函数
这部分重点掌握:主要是DDL (建表语句、分区、分桶),DML(数据的操作、SQL语句),函数(基本函数、开窗、行列转行)
Hive最重要的还是SQL,就是实操,说白了就是能用SQL完成对应的需求,一般常见的报表类指标都有现成的SQL解决方案。
-
【Hive-基础】优缺点,架构原理,与数据库的差异
-
*【Hive-基础】基本数据类型,集合数据类型,类型转换
-
*【Hive-基础】DDL语句,数据库、表的基本CURD操作
-
【Hive-基础】表数据的导出、导入(HDFS、本地)
-
*【Hive-基础】分区表,二级分区,动态分区,分桶表
-
【Hive-基础】全局排序、内部排序、分区排序
-
*【Hive-基础】行转列,列转行,窗口函数
2、调优
调优部分主要是:数据压缩存储格式(就是Hadoop的格式),HQL语法优化(大部分Hive默认开启了),Job任务的优化(解决数据倾斜问题)
现在大部分公司的Hive已经升到2.x以上了,所以HQL语法的优化基本默认开启,重点掌握的还是Job的优化,数据倾斜的常见解决方案
-
【Hive-调优】数据压缩格式,存储格式(行式存储、列式存储)
-
【Hive-调优】并行执行,严格模式,Fetch抓取,本地模式
-
*【Hive-调优】HQL语法优化,Job优化(map端和reduce端)解决数据倾斜
3、源码
源码部分,大家都知道Hive的默认底层引擎就是MR,实际上就是将HiveSQL转化为MR的过程
可以了解关键源码,如何从SQL——>MR,有助于对Hive的深入理解
- 【Hive-源码】HQL是如何转换为MR任务的,源码流程解读
4、常见问题、知识点
-
SQL 处理各种场景问题(题)
-
HQL 执行过程、编译MR过程解析
-
HQL 常见细节、注意事项详解
-
group by、on、where、having的常见问题
-
split()、explode()、lateral view用法和区别
-
count(distinct column) 为何效率低?
-
left semi join(exists、in)和 left join 区别
-
Hive中的MapJoin,CommonJoin,SMBJoin详细介绍
-
Hive-SQL基础练习一



