Spark算子讲解(二)
1:glom
def glom(): RDD[Array[T]]
将原RDD的元素收集到一个数组,创建一个数组类型的RDD
2:getNumPartitions
final def getNumPartitions: Int
求RDD的分区书
3:groupBy
def groupBy[K](f: (T) ⇒ K)(implicit kt: ClassTag[K]): RDD[(K, Iterable[T])]
根据指定函数进行分组,例如:
scala> rdd1.collect
res61: Array[Int] = Array(1, 2, 3, 4, 5) scala> rdd1.groupBy(x=>if(x%2==0) 0 else 1).collect
res62: Array[(Int, Iterable[Int])] = Array((0,CompactBuffer(4, 2)), (1,CompactBuffer(1, 3, 5)))
4:randomSplit
def randomSplit(weights: Array[Double], seed: Long = Utils.random.nextLong): Array[RDD[T]]
将一个RDD根据weights数组进行划分多个RDD,返回一个数组。
5:countByValue
返回每一个元素出现的次数,可以更加方便实现wordcount
scala> sc.parallelize(Array(1,2,1,2,1,2,3,4,5)).countByValue
res73: scala.collection.Map[Int,Long] = Map(5 -> 1, 1 -> 3, 2 -> 3, 3 -> 1, 4 -> 1)
6:countByValueApprox
def countByValueApprox(timeout: Long, confidence: Double = 0.95)(implicit ord: Ordering[T] = null): PartialResult[Map[T, BoundedDouble]]
求一个近似的计算结果
7:++
def ++(other: RDD[T]): RDD[T]
求RDD的并集
8:fold
def fold(zeroValue: T)(op: (T, T) ⇒ T): T
例如:
scala> rdd1.collect
res90: Array[Int] = Array(1, 2, 3, 4, 5) scala> rdd1.fold(0)(_+_)
res91: Int = 15
Spark算子讲解(二)的更多相关文章
- Spark算子讲解(一)
1:Zip算子 def zip[U](other: RDD[U])(implicit arg0: ClassTag[U]): RDD[(T, U)] 将两个RDD做zip操作,如果当两个RDD分区数目 ...
- spark算子(二)
1.collect算子 *使用foreachACTION操作 ,collect在远程集群中遍历RDD的元素 *使用collect操作,将分布式在远程集群中的数据拉取到本地 *这种方式不建议使用,如果数 ...
- UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现
UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现 测试数据 java代码 package com.hzf.spark.study; import ...
- Spark算子总结及案例
spark算子大致上可分三大类算子: 1.Value数据类型的Transformation算子,这种变换不触发提交作业,针对处理的数据项是Value型的数据. 2.Key-Value数据类型的Tran ...
- Spark算子总结(带案例)
Spark算子总结(带案例) spark算子大致上可分三大类算子: 1.Value数据类型的Transformation算子,这种变换不触发提交作业,针对处理的数据项是Value型的数据. 2.Key ...
- Spark算子使用
一.spark的算子分类 转换算子和行动算子 转换算子:在使用的时候,spark是不会真正执行,直到需要行动算子之后才会执行.在spark中每一个算子在计算之后就会产生一个新的RDD. 二.在编写sp ...
- Spark:常用transformation及action,spark算子详解
常用transformation及action介绍,spark算子详解 一.常用transformation介绍 1.1 transformation操作实例 二.常用action介绍 2.1 act ...
- (转)Spark 算子系列文章
http://lxw1234.com/archives/2015/07/363.htm Spark算子:RDD基本转换操作(1)–map.flagMap.distinct Spark算子:RDD创建操 ...
- 【基于spark IM 的二次开发笔记】第一天 各种配置
[基于spark IM 的二次开发笔记]第一天 各种配置 http://juforg.iteye.com/blog/1870487 http://www.igniterealtime.org/down ...
随机推荐
- .6-浅析webpack源码之validateSchema模块
validateSchema模块 首先来看错误检测: const webpackOptionsValidationErrors = validateSchema(webpackOptionsSchem ...
- ECMAScript 引用类型
Object对象 新建对象 var obj = new Object() var obj ={} var obj={age:23} ... hasOwnProperty(property) 方法 va ...
- [PHP] 数据结构-从尾到头打印链表PHP实现
1.遍历后压入反转数组,输出2.array_unshift — 在数组开头插入一个或多个单元,将传入的单元插入到 array 数组的开头int array_unshift ( array &$ ...
- Java框架之Struts2(三)
一.几种国际化输出方式 国际化:国际化的本质,就是查找,替换.程序界面上输出的是国际化消息的 key 所对应的值.Struts2 中的国际化机制,会根据 key 到资源文件中找对应的文本来替换上面的k ...
- Java使用foreach语句对数组成员遍历输出
/** * 本程序使用foreach语句对数组成员进行遍历输出 * @author Lei * @version 2018-7-23 */ public class ForeachDemo { pub ...
- java设计模式-----12、外观模式
Facade模式也叫外观模式,是由GoF提出的23种设计模式中的一种.Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面.这个一致的简单的界面被称作facade. ...
- windows使用笔记-安装64位windows7家庭普通版的方法
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 从msdn网站:http://msdn.itellyou.cn/ 下载<cn_windows_7_ultimate_wit ...
- Docker-compose 编排工具安装
介绍 Compose 是一个定义和管理多容器的工具,使用Python语言编写,使用Compose配置文件描述多个容器应用的架构, 比如什么镜像,数据卷,网络,映射端口等:然后一条命令管理所有服务,比如 ...
- JS之this应用详解
目录 1. this作为全局变量2. 作为对象方法的调用3. 作为构造函数调用4. apply调用 this是Javascript语言的一个关键字.它代表函数运行时,自动生成的一个内部对象,只能在函数 ...
- 洛谷P2178 [NOI2015]品酒大会(后缀自动机 线段树)
题意 题目链接 Sol 说一个后缀自动机+线段树的无脑做法 首先建出SAM,然后对parent树进行dp,维护最大次大值,最小次小值 显然一个串能更新答案的区间是\([len_{fa_{x}} + 1 ...