Spark API 详解/大白话解释 之 groupBy、groupByKey
2016-01-21 18:07
495 查看
groupBy(function)
function返回key,传入的RDD的各个元素根据这个key进行分组
/*
结果
Array(
(0,ArrayBuffer(2, 4, 6, 8)),
(1,ArrayBuffer(1, 3, 5, 7, 9))
)
*/
groupByKey( )
function返回key,传入的RDD的各个元素根据这个key进行分组
[code]val a = sc.parallelize(1 to 9, 3) a.groupBy(x => { if (x % 2 == 0) "even" else "odd" }).collect//分成两组 /*结果 Array( (even,ArrayBuffer(2, 4, 6, 8)), (odd,ArrayBuffer(1, 3, 5, 7, 9)) ) */
[code]val a = sc.parallelize(1 to 9, 3) def myfunc(a: Int) : Int = { a % 2//分成两组 } a.groupBy(myfunc).collect
/*
结果
Array(
(0,ArrayBuffer(2, 4, 6, 8)),
(1,ArrayBuffer(1, 3, 5, 7, 9))
)
*/
groupByKey( )
[code]val a = sc.parallelize(List("dog", "tiger", "lion", "cat", "spider", "eagle"), 2) val b = a.keyBy(_.length)//给value加上key,key为对应string的长度 b.groupByKey.collect //结果 Array((4,ArrayBuffer(lion)), (6,ArrayBuffer(spider)), (3,ArrayBuffer(dog, cat)), (5,ArrayBuffer(tiger, eagle)))
相关文章推荐
- 蓝牙学习之旅——专业术语简述
- linux 进程管理
- UIAlertController的使用(ios9.0后代替UIAlertView与UIActionSheet)
- TypeScript入门-语法篇
- 简单分享一下OC中计算文本高度
- 基于RAMJobStore开发出现的几个问题
- 基于RAMJobStore开发出现的几个问题
- eclipse 远程调试
- 如何在CSDN博客中的所贴的代码进行【代码块】显示
- iOS 单击手势和双击手势冲突问题
- Oracle 锁
- Linux下的PostgreSQL简单安装手册
- sftp常用命令介绍
- Linux定时任务Crontab详解
- js实现checkbox的全选/取消
- iOS安全笔记
- 字串的连接最长路径查找
- easyui-searchbox
- A. Mr. Kitayuta's Gift
- Java NIO使用及原理分析(二)