初识Spark
什么是spark
- spark是用于大规模数据处理的计算引擎。
- 离线spark core 、spark sql;实时数据计算spark streaming
- 基于内存的计算引擎(速度会比MapReduce快几十倍)
spark 特点
- 速度快(基于内存、DAG scheduler)
- 易用性(高阶函数,支持多种编程语言)
- 通用性
- 到处运行
spark对比Hadoop
- hadoop是一个平台。包含了 MapReduce(计算引擎)HDFS(存储)Yarn(资源管理)。所以从综合能力还说Hadoop更具有优势。
- 一般情况是对比Spark 和 MapReduce。同为计算引擎,基于内存的spark 要比 基于磁盘的MapReduce速度更快。
Spark工作原理
RDD
RDD是一个弹性分布式数据集,它是一个逻辑概念。通常是通过读取HDFS上文件进行创建,也可以通过程序中的集合来创建,还可以通过读取本地文件创建。
RDD特点
- 弹性:RDD默认是存放在内存中,但是内存不足时 也会溢写磁盘。
- 分布式:RDD在抽象上来说是一种元素数据集合,它是被分区的,每个分区分布在集群的不同节点上,从而实现数据的并行操作