Spark SQL底层执行流程详解
本文目录 一、Apache Spark 二、Spark SQL发展历程 三、Spark SQL底层执行原理 四、Catalyst 的两大优化 完整版传送门:Spark知识体系保姆级总结,五万字好文! 一、Apache Spark Apache Spark是用于大规模数据处理的统一分析引擎,基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户将Spark部署在大量硬件之上,形成集群。 Spark源码从1.x的40w行发展到现在的超过100w行,有1400多位大牛贡献了代码。整个Spark框架源码是一个巨大的工程。 二、Spark SQL发展历程 我们知道Hive实现了SQL on Hadoop,简化了MapReduce任务,只需写SQL就能进行大规模数据处理,但是Hive也有致命缺点,因为底层使用MapReduce做计算,查询延迟较高。 1. Shark的诞生 所以Spark在早期版本(1.0之前)推出了Shark,这是什么东西呢,Shark与Hive实际上还是紧密关联的,Shark底层很多东西还是依赖于Hive,但是修改了内存管理、物理计划、执行...
