Spark常用的算子总结(2)——flatMap

与map类似,区别是原RDD中的元素经map处理后只能生成一个元素,而原RDD中的元素经flatmap处理后可生成多个元素

val a = sc.parallelize(1 to 4, 2)
val b = a.flatMap(x => 1 to x)//每个元素扩展
b.collect
/*
结果    Array[Int] = Array( 1,
                           1, 2,
                           1, 2, 3,
                           1, 2, 3, 4)
*/

原文地址:https://www.cnblogs.com/pocahontas/p/11334558.html

时间: 2024-11-13 01:40:01

Spark常用的算子总结(2)——flatMap的相关文章

Spark常用的算子总结(3)—— flatMapValues

flatmapValues就是和flatmap差不多,但是人家本身就是个key value了,所以一个pair怎么变成多个pair呢,就是根据关于values的函数 val a = sc.parallelize(List((1,2),(3,4),(5,6))) val b = a.flatMapValues(x=>1 to x) b.collect.foreach(println(_)) /*结果 (1,1) (1,2) (3,1) (3,2) (3,3) (3,4) (5,1) (5,2) (

Spark常用的算子总结——Map

从一个list变成 key value val a = sc.parallelize(List("dog", "tiger", "lion", "cat", "panther", " eagle"), 2) val b = a.map(x => (x, 1)) b.collect.foreach(println(_)) # /* # (dog,1) # (tiger,1) # (l

spark常用的算子总结(8)—— filter

把超过某一个数的拿出来collect val filterRdd = sc.parallelize(List(1,2,3,4,5)).map(_*2).filter(_>5) filterRdd.collect # res5: Array[Int] = Array(6, 8, 10) 原文地址:https://www.cnblogs.com/pocahontas/p/11441040.html

08、Spark常用RDD变换

08.Spark常用RDD变换 8.1 概述 Spark RDD内部提供了很多变换操作,可以使用对数据的各种处理.同时,针对KV类型的操作,对应的方法封装在PairRDDFunctions trait中,KV类的RDD可以被隐式转换成PairRDDFunctions类型.其中很多的操作,和传统的SQL语句中的操作是对应的,只是底层换成Spark的MR计算. 8.2 常用变换 操作 解释 map 变换,将输入的每个元素进行响应操作,生成新的元素 flatMap 压扁,取出具有可迭代性质的组件中每个

图像处理常用边缘检测算子总结

图像处理常用边缘检测算子总结 转 不同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像.需要说明的是:边缘和物体间的边界并不等同, 边缘指的是图像中像素的值有突变的地方,而物体间的边界指的是现实场景中的存在于物体之间的边界.有可能有边缘的地方并非边界,也有可能边界的地方并无边 缘,因为现实世界中的物体是三维的,而图像只具有二维信息,从三维到二维的投影成像不可避免的会丢失一部分信息:另外,成像过程中的光照和噪声也是不可避 免的重要因素.正是因为这些原因,基于边缘的图像分割仍然是当前图

spark的做算子统计的Java代码(在Linux系统集群式运行)

这篇跟上面一篇java代码部分基本相同,直接上代码 package com.spark.study.core; import java.util.Arrays;import java.util.Iterator; import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import org.apache.spark

常用Actoin算子 与 内存管理

一.常用Actoin算子 (reduce .collect .count .take .saveAsTextFile . countByKey .foreach ) collect:从集群中将所有的计算结果获取到本地内存,然后展示 take:从集群中将一部分的计算结果获取到本地内存,然后展示 rdd.collect rdd.take(n) 二.内存管理 1.RDD内存持久化

Spark常用的transformation算子

1.map 和 mapPartitions map的输入变换函数应用于RDD中所有元素,而mapPartitions应用于所有分区.区别于mapPartitions主要在于调用粒度不同.mapPartition可以倒过来理解,先partition,再把每个partition进行map函数, 适用场景: 如果在映射的过程中需要频繁创建额外的对象,使用mapPartitions要比map高效的多. val numbers: RDD[Int] = sc.parallelize(seqs,3) //ma

Spark常用函数讲解--键值RDD转换

摘要: RDD:弹性分布式数据集,是一种特殊集合 ‚ 支持多种来源 ‚ 有容错机制 ‚ 可以被缓存 ‚ 支持并行操作,一个RDD代表一个分区里的数据集RDD有两种操作算子:         Transformation(转换):Transformation属于延迟计算,当一个RDD转换成另一个RDD时并没有立即进行转换,仅仅是记住       了数据集的逻辑操作         Ation(执行):触发Spark作业的运行,真正触发转换算子的计算 本系列主要讲解Spark中常用的函数操作: