4006-998-758
3000+课程任你选择
Spark、HBase调优案例
研发学院 HBase调优 Spark 开课时间:2021-07-03
尹立庆

多年从事容器技术、云计算、物联网研发工作经验。北航移动云计算硕士。Cloudera大数据认证(图1),项目管理师(PMP)认证(图2),主要研究方向包括容器技术、云计算、物联网、项目管理等;曾就职于阿里等互联网企业,IBM、华为等知名大型企业,现任某大型知名互联网企业首席架构,负责容器技术、云计算、物联网、PaaS平台研发工作。

IT从业近二十年,秉承理论与实践相结合,在学习中实践,在实践中学习,积累了丰富的理论与实践经验,并且乐于将自己的经验分享。尹老师具有敏锐的目光与头脑,发现并集成整合社会资源,为企业节省资源并创造价值,达到为合作伙伴创收的目的。曾为多家国内知名企业提供培训与咨询,包含阿里集团、华为、中国移动、中国电信、中国联通、当当网、中石油、中石化、中国电网、中国银行、中国工商银行、浦发银行、阿尔卡特朗讯、中航国际等。拥有云计算、物联网、大流量、高并发、分布式的大型网站架构和设计经验。曾主导过多个云计算、物联网、私有云、公有云建设项目,早些年也主导过ERP、CMS等软件项目,积累了丰富的实践经验,这些项目中包含多个数百万、上千万的大型项目。项目经历:呼叫中心人工智能客服研发项目、贵州省政府云呼叫中心建设项目、广东发展银行电营、运维大数据分析项目、中石油工程设计西南分公司云计算项目评审委员、中石油大数据挖掘项目,电商库存预测大数据分析项目、大型ERP、电子商务、CRM、电子政务等多个项目。


查看老师详情
课程内容


课程简介


Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。Spark采用了内存分布数据集,能更好地适用于数据挖掘与机器学习等需要迭代的算法。Spark 主要有三个优点:一是封装高级API剥离了对集群本身的关注,Spark应用开发者可以专注于解决业务问题;二是Spark 很快,支持交互式计算和复杂算法;三是Spark 是一个通用引擎,可用它来完成各种各样的运算,包括SQL查询、文本处理、机器学习等,而在Spark出现之前一般需要学习各种各样的引擎来分别处理这些需求。

HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建大规模结构化存储集群。HBase是一个分布式的、面向列的开源数据库,该技术来源于Google论文Bigtable(一个结构化数据的分布式存储系统),Bigtable利用了Google文件系统(GFS)所提供的分布式数据存储一样,HBase在Hadoop的分布式文件系统(HDFS)之上提供了类似于Bigtable的能力。HBase不同于一般的关系型数据库,它是一个适合于非结构化数据存储的数据库。HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。

本课程重点讲解Spark、HBase调优案例,让学员通过案例深入讲解Spark、HBase调优。

 

课程目标


1、 Spark struct streaming使用场景,优点和缺点(相比于Spark streaming);

2、 Spark streaming的两种模式(direct和receiver)的对比,及其各自的优缺点;

3、 Spark SQL执行计划讲解和一些优化的经验(最好能讲几个调优的案例);

4、 HBase表设计原则(遵循什么原则才能达到性能最大化);

5、 HBase Tunning(主要从application和infra两方面来讲),及一些调优案例;

6、 HBase across cluster replication机制和对性能的影响,能达到的时间量级。

7、 YARN资源管理讲解。


课程对象


1、 对大数据、分布式存储Spark、HBase等感兴趣的人员;

2、 云计算、大数据从业者;

3、 熟悉Hadoop生态体系,想了解和学习Hadoop与Spark、HBase整合在企业应用实战案例的人员;

4、 系统架构师、系统分析师、高级程序员、资深开发人员;

5、 牵涉到大数据处理的数据中心运行、规划、设计负责人;

6、 政府机关,金融保险、移动互联网等大数据单位的负责人;

7、 高校、科研院所大数据研究人员,涉及到大数据与分布式数据处理的人员;

8、 数据仓库管理人员、建模人员,分析和开发人员、系统管理人员、数据库管理人员以及对数据仓库感兴趣的其他人员;

 

课程形式


以课堂讲解、演示、案例分析为主,辅以互动研讨、现场答疑、学以致用。

 

课程大纲

 

时间

内容

 

第1个主题: Spark Structured Streaming使用场景,优点和缺点(深入讲解Spark Structured Streaming使用场景,优点和缺点)(120分钟)

1、 Spark Structured Streaming使用场景

2、 Spark Streaming不足

3、 Structured Streaming介绍

4、 复用Spark SQL执行引擎

5、 Structured Streaming 核心设计

6、 输入输出

7、 API

8、 执行引擎

9、 操作的特征

10、 Structured Streaming 编程模型

11、 Continuous Processing Mode

12、 一致性语义

13、 Benchmark

14、 Spark Structured Streaming优点和缺点(相比于Spark streaming)

 

第2个主题: Spark streaming的两种模式的对比及其各自的优缺点(深入讲解Spark streaming的两种模式的对比及其各自的优缺点)(120分钟)

1、 Spark streaming的两种模式:direct和receiver

2、 Receiver模式与Direct模式两种模式的原理和区别

3、 Spark streaming的两种模式的对比

4、 Receiver模式下的运行架构

5、 Receiver从kafka拉取数据的过程

6、 Direct模式下的运行架构

7、 Direct从kafka拉取数据的过程

8、 Receiver模式与Direct模式的区别

9、 Receiver改造成Direct模式

10、 Spark streaming的两种模式各自的优缺点

 

第3个主题: Spark SQL执行计划讲解和优化经验(深入讲解Spark SQL执行计划和一些优化的经验)(120分钟)

1、 Spark SQL执行计划讲解

2、 普通方式提交任务的缺点以及优化方法

3、 Spark SQL执行计划

4、 explain查看物理计划

5、 explain(true)查看整个SQL的执行计划

6、 解析过程

7、 逻辑阶段(Logical Plan)

8、 优化阶段

9、 物理执行计划(Physical Plan)

10、 Spark SQL优化经验

11、 Spark SQL优化的经验分享

 

时间

内容

 

第4个主题: HBase表设计原则(深入讲解HBase表设计原则,遵循什么原则才能达到性能最大化)(90分钟)

1、 HBase表设计原则

2、 遵循什么原则才能达到性能最大化

3、 HBase逻辑模型

4、 HBase列族与列

5、 HBase时间戳

6、 列族的数量及列族的势

7、 行键(RowKey)的设计

8、 尽量最小化行键和列族的大小

9、 版本的数量

10、 命名空间的结构

a) Table

b) RegionServer group

c) Permission

d) Quota

11、 建表高级属性

a) BLOOMFILTER

b) VERSIONS

c) COMPRESSION

d) TTL

e) alter

f) describe/desc

g) disable_all/enable_all

h) drop_all

i) HBase预分区

12、 表设计

a) 列簇设计

b) RowKey设计

13、 Rowkey设计三原则

a) Rowkey长度原则

b) Rowkey散列原则

c) Rowkey唯一原则

14、 数据热点

15、 防止数据热点的有效措施

16、 行式数据库 vs 列式数据库

17、 HBase适合的业务场景剖析

18、 HBase不适合的业务场景举例

19、 分布式NoSQL数据库与事务

20、 HBase表结构设计应用案例

 

第5个主题: HBase Tunning(深入讲解HBase Tunning,主要从application和infra两方面来讲调优方法,及一些调优案例)(90分钟)

1、 HBase Tunning

2、 HBase Tunning从infra方面调优

3、 HBase硬件优化

4、 HBase网络优化

5、 HBase部署优化

6、 HBase配置参数优化

7、 HBase Tunning从application方面调优

8、 HBase创建表优化

9、 HBase创建列优化

10、 HBase表结构设计优化

11、 HBase表使用优化

12、 HBase高并发读写优化(MapReduce编程优化)

13、 垃圾回收优化

14、 启用压缩

15、 优化Region拆分合并以及与拆分Region

16、 客户端入库调优

17、 HBase配置文件

18、 HDFS优化部分

19、 HBase Tunning调优案例

20、 倒排索引

21、 调优案例实战:微博项目

22、 微博业务概述

23、 微博业务功能说明

24、 微博逻辑架构设计

25、 微博开发使用的组件

26、 HBase表结构设计

27、 基于HBase的微博表结构设计

28、 基于HBase的微博项目代码开发

29、 基于HBase的微博项目的总结

30、 HBase API剖析

31、 HBase研发案例分享

32、 HBase应用

33、 基于HTable的MapReduce分析

34、 HBase Filter

35、 HBase Filters

36、 SingleColumnValueFilter示例

 

第6个主题: HBase across cluster replication机制和对性能的影响(深入讲解HBase across cluster replication机制和对性能的影响)(90分钟)

1、 HBase across cluster replication机制和对性能的影响

2、 HBase across cluster replication机制性能能达到的时间量级

3、 HBase物理模型

4、 Client

5、 HMaster

6、 HRegionServer

7、 HRegion

8、 Store

9、 MemStore

10、 StoreFile

11、 HFile

12、 HLog

13、 数据存储结构:LSM

14、 RowKey字典顺序排列

15、 KeyValue的存储格式

16、 预分区及RowKey设计

17、 内存优化

18、 基础优化

19、 允许在HDFS的文件中追加内容

20、 优化DataNode允许的最大文件打开数

21、 优化延迟高的数据操作的等待时间

22、 优化数据的写入效率

23、 优化DataNode存储

24、 设置RPC监听数量

25、 优化HStore文件大小

26、 优化HBase客户端缓存

27、 指定 scan.next 扫描 HBase 所获取的行数

28、 flush、compact、split 机制

29、 HBase的写表优化

a) 多HTable并发写

b) HTable参数设置

c) 批量写

d) 多线程并发写

30、 HBase的读表优化

a) 多HTable并发读

b) HTable参数设置

c) Scanner Caching

d) Scan Attribute Selection

e) Close ResultScanner

f) 批量读

g) 多线程并发读

h) 缓存查询结果

i) Blockcache

31、 HTable与HTable Pool

a) HTable

b) HTable  Pool

 

第7个主题: YARN资源管理讲解(深入讲解YARN资源管理讲解)(90分钟)

1、 YARN资源管理讲解

2、 YARN介绍

3、 YARN的设计思想

4、 YARN的核心组件

5、 YARN为核心的生态系统

6、 YARN的 HA机制

7、 YARN应用程序编写

8、 ResourceManager深入剖析

9、 ClientRMService与AdminService

10、 NodeManager深入剖析

11、 Container

12、 调优案例:运行MapReduce程序理解YARN的运行原理


返回上一级