大数据技术系列
2
1、 Order By ............................................................................................................................................. 21
2、 Sort By ................................................................................................................................................ 21
3、 Distribute By 和 Sort By ................................................................................................................... 21
4、 Cluster By ........................................................................................................................................... 22
5、 常见全局排序需求 ........................................................................................................................... 22
八、 Hive 内置函数 .......................................................................................................................................... 22
1、 参考资料 ........................................................................................................................................... 23
2、 explode 函数 ..................................................................................................................................... 23
3、 collect_set 函数 ................................................................................................................................. 23
4、 collect_list 函数 ................................................................................................................................. 23
九、 Hive 自定义函数 ...................................................................................................................................... 23
1、 UDF 用户自定义函数(一进一出) ................................................................................................ 23
2、 UDAF 用户自定义聚合函数(多进一出) ..................................................................................... 24
3、 UDTF 自定义表生成函数(一进多出) .......................................................................................... 27
第二部分:Hive 执行原理与优化 ........................................................................................................................... 31
十、 Hive 技术架构 .......................................................................................................................................... 31
1、 架构图 ............................................................................................................................................... 31
2、 Hive 的核心 ....................................................................................................................................... 31
3、 Hive 的底层存储 ............................................................................................................................... 31
4、 Hive 程序的执行过程 ....................................................................................................................... 32
5、 Hive 的元数据存储 ........................................................................................................................... 32
6、 Hive 客户端 ....................................................................................................................................... 32
十一、 MapReduce 执行过程 ..................................................................................................................... 32
十二、 Shuffle 原理 ...................................................................................................................................... 33
1、 Map Shuffle 过程 ............................................................................................................................... 33
2、 Reduce Shuffle 过程 .......................................................................................................................... 35
十三、 性能瓶颈和优化 ............................................................................................................................... 36
十四、 HiveQL 层面优化 ............................................................................................................................. 36
1、 利用分区表优化 ............................................................................................................................... 36
2、 利用桶表优化 ................................................................................................................................... 37
3、 join 优化 ............................................................................................................................................ 37
4、 启用 mapjoin ..................................................................................................................................... 38
5、 桶表 mapjoin ..................................................................................................................................... 39
6、 Group By 数据倾斜优化 ................................................................................................................... 40
7、 Order By 优化 .................................................................................................................................... 40
8、 Group By Map 端聚合 ....................................................................................................................... 40
9、 一次读取多次插入 ........................................................................................................................... 41
10、 Join 字段显示类型转换 .................................................................................................................... 41
11、 使用 orc、parquet 等列式存储格式................................................................................................ 41
十五、 Hive 架构层面优化 .......................................................................................................................... 41
1、 不执行 MapReduce ........................................................................................................................... 41
2、 本地模式执行 MapReduce ............................................................................................................... 42
3、 JVM 重用 ........................................................................................................................................... 43
4、 并行化 ............................................................................................................................................... 43