Spark-Core RDD转换算子-双Value型交互
1、union(otherDataSet)
作用:求并集
. 对源 RDD 和参数 RDD 求并集后返回一个新的 RDD
scala> val rdd1 = sc.parallelize(1 to 6)
scala> val rdd2 = sc.parallelize(4 to 10)
scala> val rdd3 = rdd1.union(rdd2)
scala> rdd3.collect
res1: Array[Int] = Array(1, 2, 3, 4, 5, 6, 4, 5, 6, 7, 8, 9, 10)
union和++是等价的
2、subtract(otherDataSet)
作用: 差集.
从原 RDD 中减去 原 RDD 和otherDataset 中的共同的部分.
scala> rdd1.subtract(rdd2).collect
res4: Array[Int] = Array(1, 2, 3)
scala> rdd2.subtract(rdd1).collect
res5: Array[Int] = Array(7,8,9,10)
3、intersection(otherDataSet)
作用: 交集
. 对源 RDD 和参数 RDD 求交集后返回一个新的 RDD
scala> rdd1.intersection(rdd2).collect
res8: Array[Int] = Array(4, 6, 5)
4、cartesian(otherDataSet)
作用: 计算 2 个 RDD 的笛卡尔积.
尽量避免使用
scala> rdd1.cartesian(rdd2).collect
res11: Array[(Int, Int)] = Array((1,4), (1,5), (1,6), (2,4), (2,5), (2,6), (3,4), (3,5), (3,6), (1,7), (1,8), (1,9), (1,10), (2,7), (2,8), (2,9), (2,10), (3,7), (3,8), (3,9), (3,10), (4,4), (4,5), (4,6), (5,4), (5,5), (5,6), (6,4), (6,5), (6,6), (4,7), (4,8), (4,9), (4,10), (5,7), (5,8), (5,9), (5,10), (6,7), (6,8), (6,9), (6,10))
5、zip(otherDataSet)
作用: 拉链
操作. 需要注意的是, 在 Spark 中, 两个 RDD 的元素的数量和分区数都必须相同
, 否则会抛出异常.(在 scala 中, 两个集合的长度可以不同
)
其实本质就是要求的每个分区的元素的数量相同.
scala> val rdd1 = sc.parallelize(1 to 5)
scala> val rdd2 = sc.parallelize(11 to 15)
scala> rdd1.zip(rdd2).collect
res1: Array[(Int, Int)] = Array((1,11), (2,12), (3,13), (4,14), (5,15))
Spark-Core RDD转换算子-双Value型交互的更多相关文章
- 【Spark篇】---Spark中Transformations转换算子
一.前述 Spark中默认有两大类算子,Transformation(转换算子),懒执行.action算子,立即执行,有一个action算子 ,就有一个job. 通俗些来说由RDD变成RDD就是Tra ...
- Spark之 RDD转换成DataFrame的Scala实现
依赖 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2. ...
- Spark-Core RDD转换算子-kv型
大多数的 Spark 操作可以用在任意类型的 RDD 上, 但是有一些比较特殊的操作只能用在key-value类型的 RDD 上. 这些特殊操作大多都涉及到 shuffle 操作, 比如: 按照 ke ...
- Spark-Core RDD转换算子-Value型
1. map(func) 作用: 返回一个新的 RDD, 该 RDD 是由原 RDD 的每个元素经过函数转换后的值而组成. 就是对 RDD 中的数据做转换. 创建一个包含1-10的的 RDD,然后将每 ...
- Spark中RDD转换成DataFrame的两种方式(分别用Java和Scala实现)
一:准备数据源 在项目下新建一个student.txt文件,里面的内容为: ,zhangsan, ,lisi, ,wanger, ,fangliu, 二:实现 Java版: 1.首先新建一个s ...
- Spark 3.x Spark Core详解 & 性能优化
Spark Core 1. 概述 Spark 是一种基于内存的快速.通用.可扩展的大数据分析计算引擎 1.1 Hadoop vs Spark 上面流程对应Hadoop的处理流程,下面对应着Spark的 ...
- Spark Core知识点复习-1
Day1111 Spark任务调度 Spark几个重要组件 Spark Core RDD的概念和特性 生成RDD的两种类型 RDD算子的两种类型 算子练习 分区 RDD的依赖关系 DAG:有向无环图 ...
- 大数据技术之_27_电商平台数据分析项目_02_预备知识 + Scala + Spark Core + Spark SQL + Spark Streaming + Java 对象池
第0章 预备知识0.1 Scala0.1.1 Scala 操作符0.1.2 拉链操作0.2 Spark Core0.2.1 Spark RDD 持久化0.2.2 Spark 共享变量0.3 Spark ...
- 【Spark】RDD操作具体解释2——值型Transformation算子
处理数据类型为Value型的Transformation算子能够依据RDD变换算子的输入分区与输出分区关系分为下面几种类型: 1)输入分区与输出分区一对一型 2)输入分区与输出分区多对一型 3)输入分 ...
随机推荐
- 【Linux】CentOS6上mysql5.7安装
1.下载安装yum源 根据系统下载yum源 https://dev.mysql.com/downloads/repo/yum/ rpm -ivh xxxxx.rpm 2.修改yum源 vim /etc ...
- 【BZOJ 3681】Arietta
传送门 题目描述 Arietta 的命运与她的妹妹不同,在她的妹妹已经走进学院的时候,她仍然留在山村中. 但是她从未停止过和恋人 Velding 的书信往来.一天,她准备去探访他. 对着窗外的阳光,临 ...
- HTTP协议的请求方法
HTTP概念: HTTP是一个基于TCP/IP通信协议来传递数据,包括html文件.图像.结果等,即是一个客户端和服务器端请求和应答的标准 1.http无连接:限制每次连接只处理一个请求,服务端完成客 ...
- 在Tomcat中部署Java Web应用程序几种方式
在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署.在下文中$CATALINA_HOME指的是Tomcat根目录. 一.静态部署 静态部署指的是我们在服务器启动之前部 ...
- jquery even选择器 语法
jquery even选择器 语法 作用::even 选择器选取每个带有偶数 index 值的元素(比如 2.4.6).index 值从 0 开始,所有第一个元素是偶数 (0).最常见的用法:与其他元 ...
- 模板_SPLAY
#include<bits/stdc++.h> #define maxn 500005 //#define int long long using namespace std; inlin ...
- SQL语法——Join详解
一.INNER JOIN 用法: select column_name(s) from table 1 INNER JOIN table 2 ON table 1.column_name=table ...
- centos7 安装 Spring Tools 4 for Eclipse
1.spring 官网下载 https://spring.io/tools 2.解压 tar -zxvf spring-tool-suite--.RELEASE-e4.11.0-linux.gtk.x ...
- linux cut sort wc sed>vi awk (文本处理)
cut: 显示切割的行数据 -f: 选择显示的列 (1: 显示第一列; 1,3: 显示第一列.第三列; 1-3: 显示第一列到第三列) -s: 不显示没有分隔符的行 -d: 自定义分隔符(' '空格 ...
- (转)C#进阶之WebAPI
转:https://www.cnblogs.com/yuchenghao/p/10598825.html 首先第一点:什么是WebAPI? 首先我们了解一下.net framework 的框架构成, ...