spark2.1:rdd.combineByKeyWithClassTag的用法示例
测试spark版本:
Spark context Web UI available at http://192.168.1.1:32735 Spark context available as 'sc' (master = local[*], app id = local-1380172893828). Spark session available as 'spark'. Welcome to____ __/ __/__ ___ _____/ /___\ \/ _ \/ _ `/ __/ '_//___/ .__/\_,_/_/ /_/\_\ version 2.1.0/_/Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_72) Type in expressions to have them evaluated. Type :help for more information.
备注:spark1.5中没有提供rdd.combineByKeyWithClassTag算子,但提供的有rdd.combineByKey算子(spark2.1中依然保留)。
使用示例:
scala> case class FModel(cgridid: Int, angle: Double, drsrp: Double, distance: Double) defined class FModelscala> val sample_rdd=sc.makeRDD(| Array(| (1,FModel(1,2.0,2.1,2.2)),| (1,FModel(2,2.2,2.11,23.2)),| (2,FModel(1,2.0,2.1,2.2)),| (1,FModel(3,2.0,42.1,22.2)),| (2,FModel(2,2.2,2.11,23.2)),| (3,FModel(3,2.0,42.1,22.2))| )| ) sample_rdd: org.apache.spark.rdd.RDD[(Int, FModel)] = ParallelCollectionRDD[0] at makeRDD at <console>:26scala> val combinByKeyRDD = sample_rdd.combineByKeyWithClassTag(| (x: FModel) => (List(x), 1),| (peo: (List[FModel], Int), x: FModel) => (x :: peo._1, peo._2 + 1),| (sex1: (List[FModel], Int), sex2: (List[FModel], Int)) => (sex1._1 ::: sex2._1, sex1._2 + sex2._2)) combinByKeyRDD: org.apache.spark.rdd.RDD[(Int, (List[FModel], Int))] = ShuffledRDD[1] at combineByKeyWithClassTag at <console>:28scala> combinByKeyRDD.foreach(println) [Stage 0:> (0 + 0) / 12](3,(List(FModel(3,2.0,42.1,22.2)),1)) (2,(List(FModel(1,2.0,2.1,2.2), FModel(2,2.2,2.11,23.2)),2)) (1,(List(FModel(1,2.0,2.1,2.2), FModel(2,2.2,2.11,23.2), FModel(3,2.0,42.1,22.2)),3))scala>
转载于:https://www.cnblogs.com/yy3b2007com/p/8506552.html
spark2.1:rdd.combineByKeyWithClassTag的用法示例相关推荐
- Go基础系列:双层channel用法示例
Go channel系列: channel入门 为select设置超时时间 nil channel用法示例 双层channel用法示例 指定goroutine的执行顺序 双层通道的解释见Go的双层通道 ...
- objdump反汇编用法示例
objdump反汇编用法示例 原文:http://blog.csdn.net/zoomdy/article/details/50563680 -d:将代码段反汇编 -S:将代码段反汇编的同时,将反汇编 ...
- python 装饰器 参数-python函数装饰器之带参数的函数和带参数的装饰器用法示例...
本文实例讲述了python函数装饰器之带参数的函数和带参数的装饰器用法.分享给大家供大家参考,具体如下: 1. 函数带多个参数 # 普通的装饰器, 打印函数的运行时间 def decrator(fun ...
- php指定长度 分割整形,php指定长度分割字符串str_split函数用法示例
本文实例讲述了php指定长度分割字符串str_split函数用法.分享给大家供大家参考,具体如下: 示例1:$str = 'abcdefgh'; $arr = str_split($str,2); 运 ...
- Linux find 用法示例
Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; find命令的参数 ...
- mysql教程or怎么用_MySQL中or语句用法示例
1.mysql中or语法的使用,在mysql语法中or使用注意点. 项目遇到坑,遍历发放奖励数据查询错误!!! $sql = 'SELECT * FROM `vvt_spread_doubleegg_ ...
- html兄弟选择器怎么用,CSS的相邻兄弟选择器用法示例讲解
对于有相同父元素的相邻HTML元素查找便可以使用CSS的相邻兄弟选择器,这里我们就来看一下CSS的相邻兄弟选择器用法简单讲解: 可选择紧接在另一个元素后的元素,且二者有相同的父级元素 下面代码中,it ...
- boost::format模块format的基本用法示例
boost::format模块format的基本用法示例 实现功能 C++实现代码 实现功能 boost::format模块format的基本用法示例 C++实现代码 #include "b ...
- boost::format模块format的高级用法示例
boost::format模块format的高级用法示例 实现功能 C++实现代码 实现功能 boost::format模块format的高级用法示例 C++实现代码 #include <ios ...
最新文章
- Unity插件之NGUI学习(8)—— Table和NGUI尺寸转换为世界坐标系尺寸
- VTK:Points之ExtractSurface
- solr4.10和solr5.x ik分词器配置,(Deprecated--2017-04-23)
- 计算机秋招必备!广州互联网大厂企业整理清单!
- go tcp连接_TCP漫谈之keepalive和time_wait
- springcloud 服务降级
- C语言 处理字符串库 string.h
- Apache Storm技术实战之2 -- BasicDRPCTopology
- 计算机课评课用语,【数学评课50条】_评课常用语50条
- 不写xml的MyBatis-Plus中关联属性的查询(1对1,1对n)
- 计算幻术之路(一):被定义之前的增强现实
- android上的sip软电话
- 计算机 bat文件夹加密,无需第三方软件,自制批处理加密隐藏文件夹
- the voyage游戏android,Bullet Voyage
- 手机软件测试规范(含具体用例)
- 数据学习(十四)-方差分析与试验设计
- k-近邻算法1(kNN)使用kNN算法改进约会网站的配对效果
- java mac地址 加冒号_Mac加减法,Mac地址加1,Mac地址减1
- 为什么wps数字前面有撇号_excel表格中数据前有撇号-Excel 如何去除数字前面的撇号...
- Sequoia(基于JDBC的数据库集群中间件)用户手册
热门文章
- MDK4 如何生成bin文件
- 『Python』__getattr__()特殊方法
- Mysql Insert Or Update语法实例
- c++性能之对象与指针性能比较、以及java与c++性能对比实测
- springboot 远程日志
- window.open与window.location.href
- 无法加载安装程序库 wbemupgd.dll
- 你为什么需要在64位系统下用32位程序
- MySQL5.7新特性——在线收缩undo表空间 (转载)
- 取消 AndroidStudio 启动时自动打开上次关闭的项目