Spark计算模型
2016-11-10 17:07
281 查看
1.Spark程序示例
数据处理流水线:
val file = sc.textFile("hdfs://xxx") //1)输入与构造RDD
val errors = file.filter(line=>line.contains("EORROR")) //2)转换Transformation
errors.count() //3)输出Action
数据结构RDD + 算法(两类RDD函数支撑)
2.弹性分布式数据集RDD
将数据切分成不同的块,分布在集群的不同节点上,通过统一的元数据进行整个数据的管理。
属性:
1)partition(A list of partitions) 数据块 ,它存储了所有数据块的列表;
2) compute(A function for computing each split),支持例如不同的RDD完成不同的运算;
3) dependencies(A list of dependencies on other RDDs),RDD的依赖;
4) partitioner,在数据分布式的结构中,对数据要进行shffer进行节点之间的数据网络传输进行重分区;
5) perferredLocations,如果输入是从HDFS,则能够知道数据存储在哪个节点上,可以就近使用数据块,避免数据块的网络传输,读取本地数据。
3.RDD数据算子
1)转换(Transformations):
Transformations操作是延迟计算的,不触发执行。
2)执行(Actions)
Actions算子会触发Spark提交作业(Job),并将数据输出Spark系统。
Transformation:
-map(func):对调用map的RDD数据集中的每个element都使用func,然后返回一个新的RDD,这个返回的数据集是分布式的数据集。
-filter(func):对调用filter的RDD数据集中的每个元素都是用func,然后返回一个包含使func为true的元素构成的RDD。
-reduceByKey(func,[numTasks]):就是用一个给定的reduce func再作用在groupByKey产生的(K,Seq[V]),比如求和,求平均值。
Action:
-reduce(func):就是聚集,但是传入的函数是两个参数输入返回一个值,这个函数必须是满足交换律和结合律的。
collect():一般在filter后者足够小的结果的时候,再用collect封装返回一个数据。
-count():返回的是dataset中的element的个数。
-first():返回的是dataset中的第一个元素。
-take(n):返回的是前n个elements
数据处理流水线:
val file = sc.textFile("hdfs://xxx") //1)输入与构造RDD
val errors = file.filter(line=>line.contains("EORROR")) //2)转换Transformation
errors.count() //3)输出Action
数据结构RDD + 算法(两类RDD函数支撑)
2.弹性分布式数据集RDD
将数据切分成不同的块,分布在集群的不同节点上,通过统一的元数据进行整个数据的管理。
属性:
1)partition(A list of partitions) 数据块 ,它存储了所有数据块的列表;
2) compute(A function for computing each split),支持例如不同的RDD完成不同的运算;
3) dependencies(A list of dependencies on other RDDs),RDD的依赖;
4) partitioner,在数据分布式的结构中,对数据要进行shffer进行节点之间的数据网络传输进行重分区;
5) perferredLocations,如果输入是从HDFS,则能够知道数据存储在哪个节点上,可以就近使用数据块,避免数据块的网络传输,读取本地数据。
3.RDD数据算子
1)转换(Transformations):
Transformations操作是延迟计算的,不触发执行。
2)执行(Actions)
Actions算子会触发Spark提交作业(Job),并将数据输出Spark系统。
Transformation:
-map(func):对调用map的RDD数据集中的每个element都使用func,然后返回一个新的RDD,这个返回的数据集是分布式的数据集。
-filter(func):对调用filter的RDD数据集中的每个元素都是用func,然后返回一个包含使func为true的元素构成的RDD。
-reduceByKey(func,[numTasks]):就是用一个给定的reduce func再作用在groupByKey产生的(K,Seq[V]),比如求和,求平均值。
Action:
-reduce(func):就是聚集,但是传入的函数是两个参数输入返回一个值,这个函数必须是满足交换律和结合律的。
collect():一般在filter后者足够小的结果的时候,再用collect封装返回一个数据。
-count():返回的是dataset中的element的个数。
-first():返回的是dataset中的第一个元素。
-take(n):返回的是前n个elements
相关文章推荐
- Spark与Hadoop计算模型比较分析
- Spark(六) -- Spark计算模型
- spark部署、计算模型、内部执行原理、工作机制详解
- Spark分布式计算和RDD模型研究
- 内存计算模型spark概述
- Spark(六) -- Spark计算模型
- Spark Streaming场景应用- Spark Streaming计算模型及监控
- Spark与Hadoop计算模型的比较分析
- Spark与Hadoop计算模型的比较分析
- Spark、HPCC与Hadoop计算模型之趣味比较
- Spark分布式计算和RDD模型研究
- Spark与Hadoop计算模型的比较分析
- Spark与Hadoop计算模型比较分析
- Spark与Hadoop计算模型的比较分析
- Spark与Hadoop计算模型的比较分析
- spark计算模型------基础理解
- spark计算模型
- Spark分布式计算和RDD模型研究
- 我理解的spark集群的计算模型
- Spark简介与计算模型