目录一:为何选择SparkSQL? 3 1.1:SparkSQL的发展历程3 1.1.1:Hive和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:SQL解析器 20 3.1.1:解析过程20 3.1.2:SQL解析器 22 3.1.3:SQL词法分析 25 3.1.4:查询 26 3.3:分析器 26 3.4:优化器 28 3.5:Spark计划 30 四:深入理解SparkSQL运行计划30 4.1:Hive/Console安装30 4.1.1:安装Hive/Console 30 4.1.2:Hive/Console原理31 4.2:常用操作32 4.2.1查看查询模式32 4.2.2查看查询的整个运行计划33 4.2.3查看未解决的逻辑计划33 4.2.4查看已分析的逻辑计划33 4.2.5查看优化后的逻辑计划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连接操作37 4.4.3不同的操作37 4.5:查询优化38 4.5.1 CombineFilters 38 4.5.2 PushPredicateThroughProject 39 4.5.3 ConstantFolding 39 4.5.