學(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的原理圖:
如果想對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)