spark中各种连接操作以及实用方法

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
     val a = sc.parallelize(Array(("123",4.0),("456",9.0),("789",9.0))  
         val b = sc.parallelize(Array(("123",8.0),("789",10)))  
      
        val c = a.join(b)  
        c.foreach(println)  
        /*  
        (123,(4.0,8.0))  
        (789,(9.0,10))  
         */  
        val d = a.cogroup(b)  
        d.foreach(println)  
        /*  
        (456,(CompactBuffer(9.0),CompactBuffer()))  
        (123,(CompactBuffer(4.0),CompactBuffer(8.0)))  
        (789,(CompactBuffer(9.0),CompactBuffer(10)))  
        */  
        val e = a.leftOuterJoin(b)  
        e.foreach(println)  
        /*  
          (456,(9.0,None))  
          (123,(4.0,Some(8.0)))  
          (789,(9.0,Some(10)))  
          */  
        val f = a.fullOuterJoin(b)  
        f.foreach(println)  
        /*  
          (456,(Some(9.0),None))  
          (123,(Some(4.0),Some(8.0)))  
          (789,(Some(9.0),Some(10)))  
          */  
        val g = a.cartesian(b)  
        g.foreach(println)  
        /*  
    ((123,4.0),(123,8.0))  
    ((123,4.0),(789,10))  
    ((456,9.0),(123,8.0))  
    ((456,9.0),(789,10))  
    ((789,9.0),(123,8.0))  
    ((789,9.0),(789,10))  
          */  
        /*val h = a.coalesce(6,true)  
        h.foreach(println)  
        a.dependencies.foreach(println)*/  
        val i = a.keyBy{case (k,v)=>("haha",234)}  
        i.foreach(println)  
        /*  
          ((haha,234),(123,4.0))  
          ((haha,234),(456,9.0))  
          ((haha,234),(789,9.0))  
         */  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:C#实现图标锁定到Windows任务栏或删除图标

下一篇: jQuery实现网页右下角悬浮层提示