Spark Transformations

We all know the following fact:

1, RDD are immutable

2, Never modify RDD in place

3, Transform RDD to another RDD

There are 2 different transformations for RDD, one is narrow transformation:

transformations like map, flatMap, filter all are narrow transformation, which means shuffle won‘t happen, so it‘s fast, it‘s speed just depends on:

1, availability of local memory

2, CPU speed

another is wide transfomration:

transformations like groupByKey, reduceByKey, repartition all are wide tranformation, the network speed in shuffle is the key to it‘s speed, so it‘s slower

the final comparison:

时间: 2024-11-04 13:22:35

Spark Transformations的相关文章

Spark (Python版) 零基础学习笔记(二)—— Spark Transformations总结及举例

1. map(func) 将func函数作用到数据集的每个元素,生成一个新的分布式的数据集并返回 1 >>> a = sc.parallelize(('a', 'b', 'c')) 2 >>> a.map(lambda x: x+'1').collect() 3 ['a1', 'b1', 'c1'] 2. filter(func) 选出所有func返回值为true的元素,作为一个新的数据集返回 1 >>> a = sc.parallelize(rang

征服Spark as a Service

Spark是当今大数据领域最活跃最热门的高效的大数据通用计算平台,基于RDD,Spark成功的构建起了一体化.多元化的大数据处理体系,在“One Stack to rule them all”思想的引领下,Spark成功的使用Spark SQL.Spark Streaming.MLLib.GraphX近乎完美的解决了大数据中Batch Processing.Streaming Processing.Ad-hoc Query等三大核心问题,更为美妙的是在Spark中Spark SQL.Spark

Spark调研笔记第6篇 - Spark编程实战FAQ

本文主要记录我使用Spark以来遇到的一些典型问题及其解决办法,希望对遇到同样问题的同学们有所帮助. 1. Spark环境或配置相关 Q: Spark客户端配置文件spark-defaults.conf中,spark.executor.memory和spark.cores.max应该如何合理配置? A: 配置前,需要对spark集群中每个节点机器的core和memory的配置有基本了解.比如由100台机器搭建的spark集群中,每个节点的配置是core=32且memory=128GB,那么,向该

Operator_repartitionAndSortWithinPartition

package com.bjsxt.spark.transformations; import java.io.Serializable; import java.util.Arrays; import java.util.Comparator; import java.util.Iterator; import java.util.List; import org.apache.cassandra.cli.CliParser.newColumnFamily_return; import org

Spark IMF传奇行动第17课Transformations实战总结

今晚听了王家林老师的Spark IMF传奇行动第17课Transformations实战,作业是用SCALA写cogroup: def main(args: Array[String]): Unit = { val sc = sparkContext("Transformations") cogroupTrans(sc) sc.stop() } def cogroupTrans(sc:SparkContext): Unit ={ val stuNames = Array( Tuple2

spark的action和transformations汇集

汇总了Spark支持的Transformations 和Actions 用于备忘! 参考 http://spark.apache.org/docs/latest/programming-guide.html#transformations 若想看中文的,可以参考其它博客(没这里全面):http://blog.csdn.net/egraldloi/article/details/16343733

Spark Streaming Transformations

map(func):对DStream中的所有的元素进行func转换生成新的DStream flatMap(func):和map方法类似,先对DStream中的元素进行func运算,然后压平,就是说,如果有一个元素是集合或者数组,那么会被拆成一个一个的元素 filter(func):对DStream中的元素进行func运算,把返回true的元素组成一个新的DStream repartition(numPartitions): DStream重分区 union(otherStream):合并两个DS

Spark的转化和行动(transformations和action)

//********************** 装换操作 ********************* 1.def map[U: ClassTag](f: T => U): RDD[U]   将函数应用于RDD的每一元素,并返回一个新的RDD 2.def filter(f: T => Boolean): RDD[T]        通过提供的产生boolean条件的表达式来返回符合结果为True新的RDD 3.def flatMap[U: ClassTag](f: T => Traver

spark

Transformation 和Action本质区别: Transformations是RDD到RDD; Actions是RDD到result. Actions算子触发Spark job. Spark groupbykey和cogroup使用示例 groupByKeygroupByKey([numTasks])是数据分组操作,在一个由(K,V)对组成的数据集上调用,返回一个(K,Seq[V])对的数据集.val rdd0 = sc.parallelize(Array((1,1), (1,2) ,