一、Apache Spark
1、Spark简介
Apache Spark是用于大规模数据 (large-scala data) 处理的统一 (unified) 分析引擎。
Spark最早源于一篇论文Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing,该论文是由加州大学柏克莱分校的Matei Zaharia等人发表的。论文中提出了一种弹性分布式数据集(即RDD)的概念。
javascript
A distributed memory abstraction that lets programmers perform n in-memory computations
on large clusters in a fault-tolerant manner.
翻译过来就是:RDD 是一种分布式内存抽象,其使得程序员能够在大规模集群中做内存运算,
并且有一定的容错方式。而这也是整个 Spark 的核心数据结构,Spark整个平台都围绕着RDD进行。
简而言之,Spark借鉴了MapReduce思想发展而来,保留了其分布式并行计算的优点并改进了其明显的缺陷。让中间数据存储在内存中提高了运行速度、并提供丰富的操作数据的API提高了开发速度。
Spark是一款分布式内存计算的统一分析引擎。其特点就是对任意类型的数据进行自定义计算。
Spark可以计算:结构化、半结构化、非结构化等各种类型的数据结构,同时也支持使用Python、Java、Scala、R以及SQL语言去开发应用程序计算数据。
Spark的适用面非常广泛,所以,被称之为统一的 (适用面广) 的分析引擎 (数据处理)。
无善无恶心之体,有善有恶意之动。
知善知恶是良知,为善为恶是格物。