数据挖掘中,关于spark rdd常用算子转dataset

数据挖掘中,关于spark rdd常用算子转dataset

这篇的文章的内容很简单,就是总结一下自己在数据挖掘过程中用到的一些算子,然后将原来项目中使用rdd转换为dataset。理论上来说有结构的rdd都可以转为dataframe或者dataset,因为项目里面读取的是seq,原本是用的rdd,所以理论上是可行的,最开始我有尝试转为datafrme,但是有些算子在转换过程中又会转为rdd,所以后来又尝试走dataset。目前来说,项目里用到的算子都能转为dataset,这里了只是做一些总结,用到的算子都是网上能找到的,自己只是实现了相同的效果。如果有更简便更好的方法,欢迎讨论

//创建sparkSession
val spark = SparkSession.builder().master("local[*]")
  .appName("dataset")
  .getOrCreate()
import spark.implicits._
	spark.createDataset(RDD)
	1.reduceByKey(_ + _)  => .groupBy('_1).agg(sum("_2"))
	2.leftjoinwith + map =>  .joinWith(dsMap2, dsMap("c1") === dsMap2("c1"), "left_outer").map{
		case (_1, _2) =>
       		 (_1.c1, _1.c2, _2.c1, _2.c2)
		  }
	3.reduceByKey(x, y) =>  .groupBy('_1).agg(functions.first("_2").as("_3")).show()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值