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

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))

     */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值