关于transform函数

来源:8-6 -实战之Spark Streaming整合Spark SQL操作

weixin_慕田峪8372375

2019-08-01

看到这一节的时候,我想到transform函数那一节。那里执行的黑名单过滤操作,利用foreachRDD方法,对当前DStream的每个RDD进行同样的操作也是可以的,也就是通过这种方式同样可以实现
lines.foreachRDD(rdd =>{
val result = rdd.map(x=>(x.split(",")(1),x)).leftOuterJoin(blacksRdd)
.filter(x=>x._2._2.getOrElse(false) !=true).map(x=>x._2._1)
result.foreach(x=>println(x))
那么为什么还一定要加入transform函数呢?不太理解

写回答

1回答

Michael_PK

2019-08-01

实现方式有多种,transform是tranformation算子,foreachRDD是output算子,这是两种不同的方式,一般情况下很多操作都是transforamion算子中完成的,所以必须得用transform算子

1
0

Spark Streaming实时流处理项目实战

Flume+Kafka+Spark Streaming 构建通用实时流处理平台

1404 学习 · 571 问题

查看课程