课程介绍
课程目录
往期学员作品
用户评论
课程介绍
课程目录
往期学员作品
用户评论
你将获得
- 掌握某些知识点
- 学会某些技巧(或思路)
教学服务
1v1专属答疑服务
BAT专家面试辅导
课程详情
第一阶段【分布式数据仓库Hive】
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,Hive将SQL语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现统计查询,也支持实现自己的UDF函数来完成比较复杂的业务逻辑,非常适合数据仓库的统计分析。
Hive概述、环境搭建及入门
Hive是什么、Hive与Hadoop的关系、Hive体系架构
Hive与RDBMS的区别、Hive实用场景以及优缺点
Hive环境搭建
Hive元数据存储、Hive数据存储
Hive shell常用操作
hive -e
hive -f
hive -v
hive -i
hive -S
Hive 常见表操作
Hive内部表、外部表、分区表(静态分区、动态分区)常用操作
表创建
数据加载
数据导出
内/外部表的区别以及各自在生产中的适用场景
Hive常用查询操作
SELECT
WHERE
DISTINCT
JOIN
GROUP BY
UNION
CASE WHEN THEN
IN/NOT IN/EXISTS/NOT EXISTS
Hive排序
ORDER BY
SORT BY
DISTRIBUTE BY
CLUSTER BY
Hive复合数据类型
ARRAY
MAP
STRUCT
Hive索引
Hive编程
HiveServer2/beeline使用
Java操作Hive
Hive内置函数以及UDF编程
Hive窗口和分析函数
SUM/AVG/MIN/MAX
NTILE/ROW_NUMBER/RANK/DENSE_RANK
CUME_DIST/PERCENT_RANK
LAG/LEAD/FIRST_VALUE/LAST_VALUE
GROUPING SETS,GROUPING_ID,CUBE,ROLLUP
Hive虚拟列以及在项目中的使用
INPUT__FILE__NAME
BLOCK__OFFSET__INSIDE__FILE
Hive 常用存储格式与压缩格式
行式存储VS列式存储
存储格式:TextFile/ SequenceFile /RCFile/ORCFile/Parquet
压缩格式:gzip/bzip/snappy等
如何在项目中选择合适的存储格式以及压缩格式
第二阶段【Hive 实战开发】
依据企业中常见的【日志文件】分析,使用Hive进行数据处理,把握如何设计表,运行HiveQL语句时,出现数据倾斜等问题时调优,以及如何修复Hive Bug和提交。 Hive常用优化策略
并行执行
JVM重用
合理设置Mapper/Reducer个数
合理利用压缩技术以及分布式缓存
充分利用多个job之间的共用的中间结果集
执行计划深入剖析
深入剖析常用的几种Join:Reduce Join/Map Join/SMB Join工作原理以及各自的使用场景
PPD:Predicate Pushdown
数据倾斜分析及常用解决方案
分区的合理使用
Hive实战 本部分包含两个Hive的实战案例,涉及到Hive相关的绝大部分知识点,由于项目业务数据的保密性,暂不对外公布案例描述。
项目实战一
项目实战二
Hive高级 本部分将重点介绍在工作中遇到的各种真实的Hive相关的问题,如何分析、定位以及解决/修复这些问题,包括分析执行计划、源码bug修复等。
如何分析、跟踪、解决/修复在生产环境中遇到的问题
修复问题后Hive源码编译等相关环节
Hive的元数据表结构详解
Hive执行流程源码分析
Hive 如何Debug执行
第三阶段【Spark SQL】
2014年4月Spark发布了1.0版本,该版本中包含了SparkSQL模块,它是Spark的核心组件之一。Spark SQL是一个用于处理结构化数据的Spark组件,Spark SQL作为Shark的继任者,其主要功能之一就是方便用户访问和操作已经存在的hive表数据。由于Spark是基于内存的计算框架,使用Spark SQL之后可以将原有的hive脚本直接跑在Spark之上,大大提高运行效率。
Shark
本部分将讨论Shark,它作为Spark设计并开源的一款数据仓库系统,提供了分布式SQL查询引擎,并能够兼容Hive;通过将HQL转换成Spark作业并提交到Spark集群上运行。
Shark产生原因
Shark体系架构
Shark VS Hive
Shark项目终止以及后续发展的方向
Spark SQL SparkSQL的愿景:写更少的代码,读更少的数据,将优化的操作交由底层优化器去执行;DataFrame提供了丰富多样的外部数据源支持。
Spark SQL愿景
Spark SQL概述
Spark SQL 体系架构
Spark 环境搭建
SqlContext 与 HiveContext
spark-sql、thriftserver/beeline
Spark SQL 常用操作
Spark SQL 案例实战
结合具体案例,主要针对【日志类型 】数据进行分析统计讲解,进一步体会
Spark SQL 使用的优势
将 Hive 部分的实战案例运行在 Spark SQL 之上
日志分析统计案例
第四阶段【H ive on Spark】
H ive 是基于 Hadoop 平台的数据仓库,已经成为 Hadoop 事实上的 SQL 引擎标
准;H ive 拥有更为广泛的用户基础以及对 SQL 语法更全面的支持;H ive 最初的计算
引擎为 M apReduce,自身性能的提升受限于 M a pReduce 的计算框架;H ive on
Spark 目的是将 Spark 作为 Hive 的另外的计算引擎,把 Hive 的查询作为 Spark 的
任务提交到 Spark 集群上进行计算,利用 Spark 的特性提高 H ive 查询性能。
背景及环境搭建
产生背景
设计原理及运行架构
编译及部署
实战操作
Hive&Spark SQL 对比
将Hive部分的实战案例运行在Hive on Spark之上
第五阶段【Hive方向就业指导】
在实际面试中,如何编写Hive方面的项目简历、与面试官描述企业大数据平台中的数据仓库的设计与使用开发的问题解决。 大数据Hadoop工程师简历编写
企业项目描述
大数据平台的架构(主要针对数据仓库)
项目任务(工作职责)
SparkSQL 综合案例,暂不对外提供项目描述。
如何把握Hive使用
常见的Hive问题解决
Hive架构
数据倾斜、数据压缩、文件格式
项目中表的常见设计(分区表、桶表、外部表)
内存溢出的分析
Hive源码修改
实际发行源码Bug,如何修改
SQL on Hadoop中的各个框架的比较
更多课程内容,请访问云帆大数据学院官网(www.yfteach.com)下载;
或是加入QQ交流群,咨询课程顾问。
本次课程内容: