Spark中执行transformation和action的区别

Spark中执行transformation和action的区别


郎朗坤
浏览 747回答 1
1回答

泛舟湖上清波郎朗

从运行层面来看,Transformation实际上是一种链式的逻辑Action,记录了RDD演变的过程。Action则是实质触发Transformation开始计算的动作,由于在每个Transformation的过程中都有记录,所以每个RDD是知道上一个RDD是怎样转变为当前状态的,所以如果出错就可以很容易的重新演绎计算过程。Transformation和Actions操作概况Transformation具体内容map(func) :返回一个新的分布式数据集,由每个原元素经过func函数转换后组成filter(func) : 返回一个新的数据集,由经过func函数后返回值为true的原元素组成*flatMap(func) : 类似于map,但是每一个输入元素,会被映射为0到多个输出元素(因此,func函数的返回值是一个Seq,而不是单一元素)flatMap(func) : 类似于map,但是每一个输入元素,会被映射为0到多个输出元素(因此,func函数的返回值是一个Seq,而不是单一元素)sample(withReplacement, frac, seed) :根据给定的随机种子seed,随机抽样出数量为frac的数据union(otherDataset) : 返回一个新的数据集,由原数据集和参数联合而成groupByKey([numTasks]) :在一个由(K,V)对组成的数据集上调用,返回一个(K,Seq[V])对的数据集。注意:默认情况下,使用8个并行任务进行分组,你可以传入numTask可选参数,根据数据量设置不同数目的TaskreduceByKey(func,[numTasks]) :在一个(K,V)对的数据集上使用,返回一个(K,V)对的数据集,key相同的值,都被使用指定的reduce函数聚合到一起。和groupbykey
打开App,查看更多内容
随时随地看视频慕课网APP