中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

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ā)
泽州县| 大厂| 磴口县| 商洛市| 宜兰县| 永安市| 拜城县| 巴东县| 嘉善县| 金湖县| 德格县| 自贡市| 梁河县| 古交市| 北京市| 阳新县| 吐鲁番市| 寿宁县| 曲沃县| 赤壁市| 天全县| 理塘县| 泸西县| 朝阳县| 米易县| 略阳县| 齐齐哈尔市| 邵东县| 巨鹿县| 康平县| 驻马店市| 启东市| 丰都县| 射阳县| 靖西县| 轮台县| 宁夏| 临江市| 深水埗区| 吴旗县| 光山县|