上传者: silentwolfyh
|
上传时间: 2021-06-18 21:28:38
|
文件大小: 5.15MB
|
文件类型: DOCX
目录
一:为什么sparkSQL? 3
1.1:sparkSQL的发展历程 3
1.1.1:hive and shark 3
1.1.2:Shark和sparkSQL 4
1.2:sparkSQL的性能 5
1.2.1:内存列存储(In-Memory Columnar Storage) 6
1.2.2:字节码生成技术(bytecode generation,即CG) 6
1.2.3:scala代码优化 7
二:sparkSQL运行架构 8
2.1:Tree和Rule 9
2.1.1:Tree 10
2.1.2:Rule 10
2.2:sqlContext的运行过程 12
2.3:hiveContext的运行过程 14
2.4:catalyst优化器 16
三:sparkSQL组件之解析 17
3.1:LogicalPlan 18
3.2:SqlParser 20
3.1.1:解析过程 20
3.1.2:SqlParser 22
3.1.3:SqlLexical 25
3.1.4:query 26
3.3:Analyzer 26
3.4:Optimizer 28
3.5:SpankPlan 30
四:深入了解sparkSQL运行计划 30
4.1:hive/console安装 30
4.1.1:安装hive/cosole 30
4.1.2:hive/console原理 31
4.2:常用操作 32
4.2.1 查看查询的schema 32
4.2.2 查看查询的整个运行计划 33
4.2.3 查看查询的Unresolved LogicalPlan 33
4.2.4 查看查询的analyzed LogicalPlan 33
4.2.5 查看优化后的LogicalPlan 33
4.2.6 查看物理计划 33
4.2.7 查看RDD的转换过程 33
4.2.8 更多的操作 34
4.3:不同数据源的运行计划 34
4.3.1 json文件 34
4.3.2 parquet文件 35
4.3.3 hive数据 36
4.4:不同查询的运行计划 36
4.4.1 聚合查询 36
4.4.2 join操作 37
4.4.3 Distinct操作 37
4.5:查询的优化 38
4.5.1 CombineFilters 38
4.5.2 PushPredicateThroughProject 39
4.5.3 ConstantFolding 39
4.5.4 自定义优化 39
五:测试环境之搭建 40
5.1:虚拟集群的搭建(hadoop1、hadoop2、hadoop3) 41
5.1.1:hadoop2.2.0集群搭建 41
5.1.2:MySQL的安装 41
5.1.3:hive的安装 41
5.1.4:Spark1.1.0 Standalone集群搭建 42
5.2:客户端的搭建 42
5.3:文件数据准备工作 42
5.4:hive数据准备工作 43
六:sparkSQL之基础应用 43
6.1:sqlContext基础应用 44
6.1.1:RDD 44
6.1.2:parquet文件 46
6.1.3:json文件 46
6.2:hiveContext基础应用 47
6.3:混合使用 49
6.4:缓存之使用 50
6.5:DSL之使用 51
6.6:Tips 51
七:ThriftServer和CLI 51
7.1:令人惊讶的CLI 51
7.1.1 CLI配置 52
7.1.2 CLI命令参数 52
7.1.3 CLI使用 53
7.2:ThriftServer 53
7.2.1 ThriftServer配置 53
7.2.2 ThriftServer命令参数 54
7.2.3 ThriftServer使用 54
7.3:小结 56
八:sparkSQL之综合应用 57
8.1:店铺分类 57
8.2:PageRank 59
8.3:小结 61
九:sparkSQL之调优 61
9.1:并行性 62
9.2: 高效的数据格式 62
9.3:内存的使用 63
9.4:合适的Task 64
9.5:其他的一些建议 64
十:总结 64