Spark--->转换算子


在这里插入图片描述

flatMap:数据的拆分、转换(一对多)

  def flatMapTest(): Unit = {
   
    //1、创建SparkConf
    val conf = new SparkConf().setMaster("local").setAppName("spark_context")
    //2、创建SparkContext
    val sc = new SparkContext(conf)
    //创建RDD
    val rdd1 = sc.parallelize(Seq("1,2,3,4"))
    //执行flatMap操作
    val rdd2 = rdd1.flatMap(item => (item.split(",")))
    rdd2.collect().foreach(println)
  }
  • 结果

1
2
3
4

map:转换(一对一)

  def mapTest(): Unit = {
   
    //1、创建SparkConf
    val conf = new SparkConf().setMaster("local").setAppName("spark_context")
    //2、创建SparkContext
    val sc = new SparkContext(conf)
    //1、创建RDD
    val rdd1 = sc.parallelize(Seq(1, 2, 3))
    //2、执行map操作
    val rdd2: RDD[Int] = rdd1.map(item => (item * 10))
    //3、得到结果
    rdd2.collect().foreach(println)
  }
  • 结果

10
20
30

filter:过滤算子

def filterTest(): Unit = {
   
  //1、创建SparkConf
  val conf = new SparkConf().setMaster("local").setAppName("spark_context")
  //2、创建SparkContext
  val sc = new SparkContext(conf)
  sc.parallelize(Seq(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
    .filter(item=>item%2==0)
    .collect()
    .foreach(item=>println(item))
}
  • 结果

2
4
6
8
10

sort:排序算子

/**
  * sortBy可以按照任何部分进行排序
  * sortByKey只可以按照key来排序
  */
def sortByTest(): Unit ={
   
  //1、创建SparkConf
  val conf = new SparkConf().setMaster("local[6]").setAppName("spark_context")
  //2、创建SparkContext
  val sc = new SparkContext(conf)
  val rdd2 = sc.parallelize(Seq(("a", 89), ("c", 90), ("b", 87)))
  val rdd1 = sc.parallelize(Seq(2,4,1,5,7,3))
  //rdd1升序排序
  rdd1.sortBy(item=>item,ascending = true).collect().foreach(println)
  //rdd2按照第二个来降序排序
  rdd2.sortBy(item=>item._2,ascending = false).collect().foreach(println)
  //rdd2按照key来排序
  rdd2.sortByKey().collect().foreach(println)
}

mapPartitions

  • 和map相比他是一个分区的数据来转换,map是一条一条的进行转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值