文档章节

Spark Streaming(2):Join

Joe_Wu
 Joe_Wu
发布于 2017/08/08 16:48
字数 306
阅读 25
收藏 0
package com.pyrrha.examples;

import java.util.ArrayList;
import java.util.List;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.Optional;

import scala.Tuple2;

public class JoinTransformation {
	
	public static void main(String[] args) {
		SparkConf conf = new SparkConf().setAppName("TransformationTest").setMaster("local");
		JavaSparkContext sc = new JavaSparkContext(conf);
		
		join(sc);
		
		sc.close();
	}
	/**
	 * @return:
	    ListA:
		[(name,Jos), (name,Marry), (name1,Tom)]
	    ListB
		[(name,Jos), (name,Black), (name2,David)]
		
		-----------------join-------------------
		[(name,(Jos,Jos)), (name,(Jos,Black)), (name,(Marry,Jos)), (name,(Marry,Black))]
		
		-----------------leftOuterJoin-------------------
		[(name,(Jos,Optional[Jos])), (name,(Jos,Optional[Black])), (name,(Marry,Optional[Jos])), (name,(Marry,Optional[Black])), (name1,(Tom,Optional.empty))]
		
		-----------------rightOuterJoin-------------------
		[(name,(Optional[Jos],Jos)), (name,(Optional[Jos],Black)), (name,(Optional[Marry],Jos)), (name,(Optional[Marry],Black)), (name2,(Optional.empty,David))]
		
		-----------------fullOuterJoin-------------------
		[(name,(Optional[Jos],Optional[Jos])), (name,(Optional[Jos],Optional[Black])), (name,(Optional[Marry],Optional[Jos])), (name,(Optional[Marry],Optional[Black])), (name2,(Optional.empty,Optional[David])), (name1,(Optional[Tom],Optional.empty))]
	 * @param sc
	 */
	public static void join(JavaSparkContext sc) {
		List<Tuple2<String, String>> listA = new ArrayList<Tuple2<String, String>>();
		listA.add(new Tuple2<String, String>("name","Jos"));
		listA.add(new Tuple2<String, String>("name","Marry"));
		listA.add(new Tuple2<String, String>("name1","Tom"));
		List<Tuple2<String, String>> listB = new ArrayList<Tuple2<String, String>>();
		listB.add(new Tuple2<String, String>("name","Jos"));
		listB.add(new Tuple2<String, String>("name","Black"));
		listB.add(new Tuple2<String, String>("name2","David"));
		
		JavaPairRDD<String, String> RDDA = sc.parallelizePairs(listA);
		JavaPairRDD<String, String> RDDB = sc.parallelizePairs(listB);
		System.out.println("-----------------data-------------------");
		System.out.println("ListA:");
		System.out.println(RDDA.collect());
		System.out.println("\n");
		System.out.println("ListB");
		System.out.println(RDDB.collect());
		System.out.println("\n");
		
		
		JavaPairRDD<String, Tuple2<String, String>> RDDC = RDDA.join(RDDB);
		System.out.println("-----------------join-------------------");
		System.out.println(RDDC.collect());
		System.out.println("\n");
		
		JavaPairRDD<String, Tuple2<String, Optional<String>>> RDDD = RDDA.leftOuterJoin(RDDB);
		System.out.println("-----------------leftOuterJoin-------------------");
		System.out.println(RDDD.collect());
		System.out.println("\n");
		
		JavaPairRDD<String, Tuple2<Optional<String>, String>> RDDE = RDDA.rightOuterJoin(RDDB);
		System.out.println("-----------------rightOuterJoin-------------------");
		System.out.println(RDDE.collect());
		System.out.println("\n");
		
		JavaPairRDD<String, Tuple2<Optional<String>, Optional<String>>> RDDF = RDDA.fullOuterJoin(RDDB);
		System.out.println("-----------------fullOuterJoin-------------------");
		System.out.println(RDDF.collect());
		System.out.println("\n");
		
	}
	
	
	

}

 

© 著作权归作者所有

Joe_Wu
粉丝 1
博文 9
码字总数 6567
作品 0
徐汇
程序员
私信 提问
Apache Spark 2.4.0 正式发布

Apache Spark 2.4 与昨天正式发布,Apache Spark 2.4 版本是 2.x 系列的第五个版本。 如果想及时了解 Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号: itebloghadoop Apache Spa...

Spark
2018/11/09
0
0
[Spark]Spark Streaming 指南一 Example

1. 概述 Spark streaming是Spark核心API的一个扩展,它对实时流式数据的处理具有可扩展性、高吞吐量、可容错性等特点。数据可以从诸如Kafka,Flume,Kinesis或TCP套接字等许多源中提取,并且...

sjf0115
2017/03/01
0
0
Spark cluster 部署

Spark 框架 Spark与Storm的对比 对于Storm来说: 1、建议在那种需要纯实时,不能忍受1秒以上延迟的场景下使用,比如实时金融系统,要求纯实时进行金融交易和分析 2、此外,如果对于实时计算的...

meteor_hy
2018/06/27
0
0
Spark(五) -- Spark Streaming介绍与基本执行过程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/45770881 Spark Streaming作为Spark上的四大子框架之一,肩负着实时流计算的重...

jchubby
2015/05/16
0
0
Spark—4(Spark核心组件)

1、Spark Streaming Spark Sreaming基于Spark Core实现了可扩展、高吞吐和容错的实时数据流处理。现在支持的数据源和处理后的结果存储如下图所示。 Spark Streaming将流式计算分解成一系列短...

叶枫啦啦
2019/07/09
87
0

没有更多内容

加载失败,请刷新页面

加载更多

深入理解JVM - 类加载机制

类加载过程 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(...

xiaolyuh
23分钟前
101
0
脸盲症的小伙伴 测试下你的脸盲症程度

笔者在背单词的时候突然想到了一个问题,就是背单词的时候,相近的词容易混淆,例如:coast和roast,在我背诵的时候,我就很烦恼,不光是英文单词,还有汉字,例如“籍”和“藉“,我还是个中...

蛤蟆丸子
24分钟前
92
0
「网易官方」极客战记(codecombat)攻略-地牢-囚犯the-prisoner

解放囚犯,你会得到盟友。 简介 敬请期待! 默认代码 # 释放囚犯,击败守卫并夺取宝石。 # 从"Weak Door"后解救Patrick。 # 击败名为"Two"的守卫。 # 获得宝石。 概览 您可以按照名称 "Weak ...

极客战记
25分钟前
46
0
Final cut pro 10.4.4中文版本

1.双击打开dmg,点击红框图示 2.出现这个界面后直接回车 3直接将fcp拖拽到application文件夹 然后就可以直接打开了! 百度网盘地址:链接: https://pan.baidu.com/s/1Db9hXmzPV4EdR7_LxEqctA...

kylin_ink
26分钟前
56
0
jquery.validate

规则名称 类型 描述 required Boolean 设置该项内容为必填 remote Json|String 请求远程资源来校验内容有效性 minlength Number 设置内容的最少字符长度 maxlength Number 设置内容的最多字符...

愚蠢的土豆
26分钟前
149
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部