互联网时代下,数据量的急剧增长,传统的数据仓库已经无法满足。Hive作为Hadoop生态圈中的数据仓库解决方案随着开源社区的快速发展而逐步成熟,慢慢的在某些场景下替代企业级数据仓库,成为各大互联网公司数据仓库建设的必选方案,可以这么说,Hive已经成为大数据数据仓库的事实标准。
本课程将从Hive的基本概念入手,深入解析Hive的使用方式、HQL语法以及常用的仓库模式设计和Hive优化方法,并对未来Hive的发展和高级特性做一些简单介绍,并通过最后的案例实践巩固学习内容。通过本课程的学习,将能够胜任大多数互联网场景下的大数据分析和数据开发任务
第一节 Hadoop与MapReduce
1) Hive在Hadoop Ecosystem中的地位
2) Hive的版本演进与目前现状
3) 节程实践环境说明
4) 实操: Hive/Hadoop预备环境安装
第二节 Hive的基本概念与QuickStart
1) Hive的安装部署
2) Hive的基本架构
3) 启动Hive
4) Hive命令行
5) HiveServer与JDBC/ODBC
6) 实操: Hive命令行和ThriftServer基本使用
第三节 数据类型与文件格式
1) Hive支持的基本数据类型
2) Hive支持的集合数据类型
3) Hive支持的文件格式与优劣对比
第四节 HiveQL:数据定义
1) Hive数据模型
2) Database
3) Table
4) Partition
5) 自定义存储格式
6) 自定义表属性
7) 常用创建/删除/修改表语法
8) 实操: HQL 创建/删除/修改操作练习
第五节 HiveQL:数据操作
1) 加载数据(LoadData)
2) 从查询计算结果加载数据(Insert Table Select)
3) 动态分区(DynamicPartitioning)
4) CTAS(CreateTableAsSelect)
5) 导出数据
6) 实操: 练习以上数据加载计算和导出操作
第六节 HiveQL:数据查询
1) 从最简单的开始
2) Select … From
3) Where条件
4) Group By条件
5) Join
6) 排序(OrderBy/SortBy)
7) ClusterBy/DistributeBy
8) 抽样(Sampling)
9) Union
10) 实操: 练习以上各种查询语法
第七节 Hive函数与自定义函数
1) 查看与调用函数
2) 常用标准函数(UDF)
3) UDAF
4) UDTF
5) UDF/UDAF/UDTF开发
6) 实操: 练习并完成UDF Java开发的作业
第八节 Hive常用模式设计
1) 按天做Partition
2) 分桶(Bucket)
3) 压缩
4) 表Schema变更
5) 实操: 练习以上几种仓库设计模式
第九节 Hive调优
1) Hive参数说明
2) Explain查看执行计划
3) 控制Map/Reduce数
4) 并行执行
5) 推测执行
6) Join优化
7) 数据倾斜问题
8) 动态分区优化
9) 实操: 练习并理解不同优化参数下的执行逻辑
第十节 Hive新特性与其他
1) Hive on Tez
2) Hive on Spark
3) Hive与HBase集成
4) HCatalog |