内射老阿姨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ā)
大同县| 林口县| 岑溪市| 易门县| 仁布县| 永顺县| 鲁山县| 遂宁市| 庆元县| 五大连池市| 鹤山市| 二手房| 大田县| 临澧县| 京山县| 贺州市| 廊坊市| 五大连池市| 平顺县| 沙田区| 武定县| 雷山县| 寿光市| 怀安县| 丘北县| 永丰县| 图木舒克市| 洮南市| 区。| 曲麻莱县| 平凉市| 苏尼特右旗| 崇文区| 庄浪县| 宽甸| 弋阳县| 庆阳市| 大埔县| 柳江县| 凉城县| 临江市|