- Spark基本的工作原理里
- 分布式的:Spark加载的数据都是以分区的形式存储在各个节点上的,各个节点的分区组合在一起就是一个RDD,所以它是分布式的。
- 基于内存的:Spark在进行数据的转换或者计算的时候都是在内存中完成的,如果内存资源不够的话 ,那么它就会在磁盘中进行计算。
- 迭代计算
- RDD:
RDD
是Spark
提供的一种核心抽象,全称Resilient Distributed Datasets
,既谭弹性分布式数据集,它是可以在内存和磁盘之间自动切换RDD
可以抽象的理解为是一个数据集合,包含数据。它是被分区的,被分为多个区,每个区都散落在不同的节点上,从而RDD
可以并行操作与计算。(分布式数据集)RDD
通常情况下有HDFS
或者hive
创建,也可以通过程序中的集合创建。RDD
最重要的特点就是容错性,如果集群中RDD
的一个分区故障了,那么RDD
会自动从节点失败中恢复过来,RDD
默认存储在节点的内存中,如果内存中的容量不够,那么它会其余的数据存储在节点的磁盘上(弹性式)RDD
是不可变的
WoldCount程序剖析
WoldCount代码
package com.lyz.spark import org.apache.spark.{SparkConf, SparkContext} object WoldCount { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("WordCount").setMaster("local") val sc = new SparkContext(conf) val lines = sc.textFile("D:/resources/README.md") val words = lines.flatMap(_.split(" ")).filter(word => word != " ") val pairs = words.map(word => (word, 1)) val wordscount = pairs.reduceByKey(_ + _) wordscount.foreach(println) sc.stop(); } }
- WoldCount剖析
Spark Core(四)基本工作原理、RDD以及其特性、WoldCount程序剖析
最新推荐文章于 2023-05-24 15:15:48 发布