第一章:初识Spark
2020-07-20 本文已影响0人
高二蛋
1.1Spark由来:
Spark源于加州大学伯克利分校的一篇论文<Resilient Distributed Datasets:A Fault-Tolerant Abstraction for In-Memory Cluster Computing>;论文中提出了一种弹性分布式数据集(即RDD):原文翻译过来是:RDD是一种分布式内存抽象,其使得程序员能够在大规模集群中做内存运算,并且有一定的容错方式;这也是整个Spark的核心数据结构,Spark 整个平台围绕RDD进行;
Apache Spark是一种针对大规模数据处理的快速通用开源引擎,主要特点:
速度快:由于spark支持内存计算,并且通过DAG(有向无环图)执行引擎支持无环数据流;
易于使用:支持包括Java,Scala,Python,R等多种语言;
通用性强:在spark基础上,还提供了Spark SQL,Spark Streaming,MLib及GraphX在内的多个工具库;
运行方式:包括在Hadoop和Memos上,也支持Standlone的独立模式,同时也可以运行在云山;
对于数据源而言,Spark支持从HDFS,HBase,Cassandra及Kafka等多种途径获取数据;
Spark内部引入了一种弹性分布式数据集的结构(RDD),在数据结构之间利用有向无环图(DAG)进行数据结构间变化的记录,这样可以方便地将公共的数据共享,并且当数据发生丢失时,可以依靠这种继承结构(血统Lineage)进行数据重建,具有很强的容错性;