spark中各种连接操作以及有用方法
val a = sc.parallelize(Array(("123",4.0),("456",9.0),("789",9.0))
val b = sc.parallelize(Array(("123",8.0),("789",10))) val c = a.join(b)
c.foreach(println)
/*
(123,(4.0,8.0))
(789,(9.0,10))
*/
val d = a.cogroup(b)
d.foreach(println)
/*
(456,(CompactBuffer(9.0),CompactBuffer()))
(123,(CompactBuffer(4.0),CompactBuffer(8.0)))
(789,(CompactBuffer(9.0),CompactBuffer(10)))
*/
val e = a.leftOuterJoin(b)
e.foreach(println)
/*
(456,(9.0,None))
(123,(4.0,Some(8.0)))
(789,(9.0,Some(10)))
*/
val f = a.fullOuterJoin(b)
f.foreach(println)
/*
(456,(Some(9.0),None))
(123,(Some(4.0),Some(8.0)))
(789,(Some(9.0),Some(10)))
*/
val g = a.cartesian(b)
g.foreach(println)
/*
((123,4.0),(123,8.0))
((123,4.0),(789,10))
((456,9.0),(123,8.0))
((456,9.0),(789,10))
((789,9.0),(123,8.0))
((789,9.0),(789,10))
*/
/*val h = a.coalesce(6,true)
h.foreach(println)
a.dependencies.foreach(println)*/
val i = a.keyBy{case (k,v)=>("haha",234)}
i.foreach(println)
/*
((haha,234),(123,4.0))
((haha,234),(456,9.0))
((haha,234),(789,9.0))
*/
spark中各种连接操作以及有用方法的更多相关文章
- VC中使用ADO操作数据库的方法
源地址:http://blog.csdn.net/xiaobai1593/article/details/7459862 准备工作: (1).引入ADO类 #import "c:\progr ...
- C/C++中几种操作位的方法
参考How do you set, clear and toggle a single bit in C? c/c++中对二进制位的操作包括设置某位为1.清除某位(置为0).开关某位(toggling ...
- pymongo中的连接操作:Connection()与MongoClient()
class MongoClient(pymongo.common.BaseObject) Connection to MongoDB. Method resolution order: MongoCl ...
- VC中使用ADO操作数据库的方法 SQL2000
(1).引入ADO类 #import "c:\program files\common files\system\ado\msado15.dll" \ no_namespace \ ...
- js中对字符串操作的常见方法(1)
String类型 创建一个String类型的实例 var stringObject = new String("hello world"); String类型的属性 length; ...
- Spark中的RDD操作简介
map(func) 对数据集中的元素逐一处理,变为新的元素,但一个输入元素只能有一个输出元素 scala> pairData.collect() res6: Array[Int] = Array ...
- js中常用的操作字符串的方法大全
charCodeAt()返回一个整数,代表指定字符的Unicode编码 fromCharCode()从一些Unicode字符串得到一个字符串 charAt()根据指定下标位置返回对应字符,如果下标超 ...
- Spark中的键值对操作-scala
1.PairRDD介绍 Spark为包含键值对类型的RDD提供了一些专有的操作.这些RDD被称为PairRDD.PairRDD提供了并行操作各个键或跨节点重新进行数据分组的操作接口.例如,Pa ...
- Spark中的键值对操作
1.PairRDD介绍 Spark为包含键值对类型的RDD提供了一些专有的操作.这些RDD被称为PairRDD.PairRDD提供了并行操作各个键或跨节点重新进行数据分组的操作接口.例如,Pa ...
随机推荐
- Java InputStream读取网络响应Response数据的方法
Java InputStream读取数据问题 原理讲解 1. 关于InputStream.read() 在从数据流里读取数据时,为图简单,经常用InputStream.read()方法.这个方 ...
- OGNL逻辑标签,UI标签
逻辑标签 public class IndexAction extends BasicAction{ private static final long serialVersionUID = 1L; ...
- CloudStack 物理网络架构
原文地址:http://www.shapeblue.com/cloudstack/understanding-cloudstacks-physical-networking-architecture/ ...
- BZOJ 1601 [Usaco2008 Oct]灌水
1601: [Usaco2008 Oct]灌水 Time Limit: 5 Sec Memory Limit: 162 MB Description Farmer John已经决定把水灌到他的n(1 ...
- AFNetworking 进行网络监测
AFNetworking 进行网络监测 引入头文件,创建检测判断BOOL值 // 网络请求的头文件 #import <AFNetworking.h> @interface ViewCont ...
- veridata实验例(5)在更改主键列值,update操作将被分成两个语句
veridata实验例(5)更改主键列值,update操作将被分成两个语句 续接"veridata实验举例(4)验证veridata查找出updata.delete操作导致的不同步现象&qu ...
- 【LeetCode】【Python题解】Single Number & Maximum Depth of Binary Tree
今天做了三道LeetCode上的简单题目,每道题都是用c++和Python两种语言写的.由于c++版的代码网上比較多.所以就仅仅分享一下Python的代码吧,刚学完Python的基本的语法,做做Lee ...
- ceph存储之ceph客户端
CEPH客户端: 大多数Ceph用户不会直接往Ceph存储集群里存储对象,他们通常会选择Ceph块设备.Ceph文件系统.Ceph对象存储之中的一个或多个: 块设备: 要实践本手册,你必须先完成存储集 ...
- OKR 方法 学习笔记
最近公司兴起了对OKR这个词的讨论,并且听到时总会伴随提到KPI,提到绩效考核.那OKR到底是什么呢?与KPI的区别在哪里?与绩效考核有什么关系?它与我们现在推行的敏捷开发有啥关系呢?因此,就到网上查 ...
- 基于visual Studio2013解决C语言竞赛题之0419误差控制
题目 解决代码及点评 /************************************************************************/ /* 19 ...