互联网时代下,数据量的急剧增长,传统的数据仓库已经无法满足。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
第十一课 案例
1) 广告用户行为分析场景预备
2) 构建Hive表与数据处理
3) 常用分析案例
4) 实操: 完成以上案例作业
授课时间
本期课程将于4月15日开始。课程持续时间大约为13周。
授课对象
面向数据分析和数据开发,希望从事和进一步了解互联网数据仓库以及数据分析的学员。
课程必备
对Hadoop有一定的基础和认识
了解SQL, 有使用MySQL/MSSQLServer/Oracle等数据分析基础
有基本的Linux命令操作经验和Java开发经验
收获预期
掌握Hive的基本原理,掌握Hive的基本使用,掌握HiveQL的基本语法和常用优化措施,了解Hive数据仓库设计的方法,能够胜任数据仓库分析和数据开发的角色
授课讲师
朱广彬,5年以上大数据架构经验,关注大数据底层架构相关技术,致力于大数据处理技术在计算广告的应用,对Hadoop/Hive/HBase/Spark/Kafka等有深入的认识和实践经验,负责千台Hadoop集群、百亿流量的数据平台架构,Hadoop Contributor。
github: https://github.com/zhuguangbin
点击下方二维码或阅读原文报名课程: