内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

spark2.x由淺入深深到底系列六之RDDjavaapi詳解四

學(xué)習(xí)spark任何的知識點之前,先對spark要有一個正確的理解,可以參考:正確理解spark

創(chuàng)新互聯(lián)建站是一家專業(yè)提供山東企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、網(wǎng)站設(shè)計、H5網(wǎng)站設(shè)計、小程序制作等業(yè)務(wù)。10年已為山東眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。

本文對join相關(guān)的api做了一個解釋

SparkConf conf = new SparkConf().setAppName("appName").setMaster("local");
JavaSparkContext sc = new JavaSparkContext(conf);

JavaPairRDD<Integer, Integer> javaPairRDD =
        sc.parallelizePairs(Arrays.asList(new Tuple2<>(1, 2),
                new Tuple2<>(3, 4), new Tuple2<>(3, 6), new Tuple2<>(5, 6)));
JavaPairRDD<Integer, Integer> otherJavaPairRDD =
        sc.parallelizePairs(Arrays.asList(new Tuple2<>(3, 9),
                new Tuple2<>(4, 5)));
//結(jié)果: [(4,([],[5])), (1,([2],[])), (3,([4, 6],[9])), (5,([6],[]))]
System.out.println(javaPairRDD.cogroup(otherJavaPairRDD).collect());

//結(jié)果: [(4,([],[5])), (1,([2],[])), (3,([4, 6],[9])), (5,([6],[]))]
// groupWith和cogroup效果是一模一樣的
System.out.println(javaPairRDD.groupWith(otherJavaPairRDD).collect());

//結(jié)果: [(3,(4,9)), (3,(6,9))]
//基于cogroup實現(xiàn)的,就是取cogroup結(jié)果中相同key在兩個RDD都有value的數(shù)據(jù)
System.out.println(javaPairRDD.join(otherJavaPairRDD).collect());

//結(jié)果: [(1,(2,Optional.empty)), (3,(4,Optional[9])), (3,(6,Optional[9])), (5,(6,Optional.empty))]
//基于cogroup實現(xiàn)的,結(jié)果需要出現(xiàn)的key以左邊的RDD為準
System.out.println(javaPairRDD.leftOuterJoin(otherJavaPairRDD).collect());

//結(jié)果: [(4,(Optional.empty,5)), (3,(Optional[4],9)), (3,(Optional[6],9))]
//基于cogroup實現(xiàn)的,結(jié)果需要出現(xiàn)的key以右邊的RDD為準
System.out.println(javaPairRDD.rightOuterJoin(otherJavaPairRDD).collect());

//結(jié)果: [(4,(Optional.empty,Optional[5])), (1,(Optional[2],Optional.empty)), (3,(Optional[4],Optional[9])), (3,(Optional[6],Optional[9])), (5,(Optional[6],Optional.empty))]
//基于cogroup實現(xiàn)的,結(jié)果需要出現(xiàn)的key是兩個RDD中所有的key
System.out.println(javaPairRDD.fullOuterJoin(otherJavaPairRDD).collect());

從上可以看出,最基本的操作是cogroup這個操作,下面是cougroup的原理圖:

spark2.x由淺入深深到底系列六之RDD java api詳解四

如果想對cogroup原理更徹底的理解,可以參考:spark core RDD api原理詳解

網(wǎng)站題目:spark2.x由淺入深深到底系列六之RDDjavaapi詳解四
瀏覽地址:http://www.rwnh.cn/article48/jipgep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站外貿(mào)網(wǎng)站建設(shè)品牌網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化動態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
忻城县| 洛浦县| 滕州市| 香格里拉县| 遂川县| 奉化市| 密山市| 姜堰市| 泾源县| 尉犁县| 大田县| 临海市| 华池县| 连云港市| 盘锦市| 阿尔山市| 钟山县| 扎赉特旗| 郎溪县| 洛南县| 东安县| 襄汾县| 廉江市| 游戏| 临潭县| 通渭县| 大城县| 江孜县| 八宿县| 新野县| 册亨县| 德清县| 宁海县| 北安市| 西林县| 利津县| 寻乌县| 德钦县| 会东县| 唐海县| 灵璧县|