参考:《SparkSQL内核剖析》
目录
SparkSQL背景
Spark(分布式计算框架): Spark一方面提供了更加灵活丰富的数据操作方式,MR分成几轮操作 Spark一轮可以实现。另一方面,每轮的计算结果都可以分布式地存放在内存中,下一轮作业直接从内存中读取上一 轮的数据,节省了大量的磁盘 IO 开销 。
Spark SQL :是近年来 SQL-on-Hadoop (面向 Hadoop 生态系统的 SQL 查询处理技术及框架)解决方案(包括 Hive、 Presto 和 Impala等)中的佼佼者,结合了数据库 SQL处理和 Spark分布式计算模型两个方面的技术,目标是取代传统的数据仓库。
大数据特点(5V): Volume (体量大)、 Velocity (时效高)、 Variety (类型多)、 Veracity (真实性)、 Value (价值大)。
在大部分公司中,典型的场景是将 Hadoop (HDFS)作为大数据存储的标准,而将 Spark作为计算引擎的核心 。
SQL-on-Hadoop 解决方案架构:应用层、分布式执行层(SQL转成计算模型)、数据存储层。
1.Spark基础知识
RDD简介
RDD(弹性分布式数据集 Resilient Distributed Dataset):RDD 是 Spark 的核心数据结构,其本质是一种分布式的内存抽象,表示一个只读的数据分区( Partition)集合 。
RDD的优点:将数据集缓存到内存中,使得