sparkStreaming foreachRDD算子

本文介绍了SparkStreaming中的核心算子foreachRDD,详细解释了它的定义和作用,包括如何对Dstream中的RDD进行操作以及如何动态改变广播变量的值。同时提到了transform算子与foreachRDD的相似性和区别,transform作为转换算子的特点被强调。
摘要由CSDN通过智能技术生成

#foreachRDD是Dstream的outPutOperator算子

foreachRDD定义:

   def foreachRDD(foreachFunc : org.apache.spark.api.java.function.VoidFunction[R]) : scala.Unit

##foreachRDD作用:
对Dstream中RDD操作
动态改变广播变量值

foreachRDD注意事项:

  foreachRDD虽然是outPutOperator算子,但是outPutOperator算子内是对RDD的transformation action操
  作,只有RDD的transformation算子,outPutOperator算子是不执行的,要有action触发,outPutOperator
  算子才能执行
   call 方法内,rdd算子外是driver端执行的,每一个Duration执行一次,适合读取外部知识文件,作为广播 
   变量,做到动态改变
   call 方法内,不能直接使用主方法定义的JavaSparkContext,要重新从RDD中获取
   `
                    JavaSparkContext javaSparkContext = new JavaSparkContext(pairRDD.context());
                  Broadcast<String> broadcast = javaSparkContext.broadcast("hello");`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值