spark中的连接算子join

package com.zyc.spark

import org.apache.spark.rdd.RDD
import org.apache.spark.{HashPartitioner, SparkConf, SparkContext}

/**
* Created with IntelliJ IDEA.
* Author: zyc2913@163.com
* Date: 2020/9/28 11:51
* Version: 1.0
* Description: 与连接相关的几种算子
*/
object StudyJoin {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setMaster("local[2]").setAppName("demo5")
    val sc = new SparkContext(conf)

    /**
     * 18.  join   内连接
     * 18.1.声明 def join[W](other: RDD[(K, W)]): RDD[(K, (V, W))] =
     * 18.2.参数   另外一个RDD K和原RDD类型相同  v和原RDD类型可以不同
     * 18.3.返回值   RDD[(K, (V, W))]
     *  二元组,二元组的K是原RDD的K类型,二元组的V是一个二元组,Key是原RDD的V类型,value是参数RDD的V类型
     * 18.4.作用  将两个K-V的RDD按照Key进行内连接
     */
    val rdd:RDD[(Int,String)] = sc.makeRDD(Array(1 -> "jordan", 2 -> "james", 3 -> "ray"))  //(id,name)
    val rdd1:RDD[(Int,Int)] = sc.makeRDD(Array(1 -> 8000, 3 -> 5000))  //(id,salary)
    val rdd2:RDD[(Int,(String,Int))] = rdd.join(rdd1)
    //rdd2.foreach(println) //控制台打印:(1,(jordan,8000))  (3,(ray,5000))

    /**
     * 19.  leftOuterJoin 左外连接,以左表为准,左表全部列出,右表中为空时填None
     * 19.1.声明  def leftOuterJoin[W](other: R

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值