java spark streaming rdd 判断 是否为null

rdd.count() 和rdd.isEmpty()

 最粗暴的办法,适用与一切

rdd.partitions().isEmpty()

 这种比较适合Dstream 进来后没有经过 类似 reduce 操作的 。

rdd.rdd().dependencies().apply(0).rdd().partitions().length==0

 这种就可以用来作为 经过 reduce 操作的 了 

转载于:https://my.oschina.net/u/2362111/blog/743754

Spark Streaming RDD 编程主要涉及到以下几个方面: 1. 创建 StreamingContext 对象:首先需要创建一个 StreamingContext 对象,设置应用程序名称、批处理间隔等参数。 ```scala val conf = new SparkConf().setAppName("Streaming example") val ssc = new StreamingContext(conf, Seconds(1)) ``` 2. 创建输入 DStream:使用 StreamingContext 对象创建一个输入 DStream。这个 DStream 可以从多个数据源创建,如 Kafka、Flume、Kinesis、HDFS 等。 ```scala val lines = ssc.socketTextStream("localhost", 9999) ``` 3. 转换操作:通过对输入 DStream 进行一系列转换操作,得到需要的结果。转换操作包括 map、filter、reduceByKey、window 等。 ```scala val words = lines.flatMap(_.split(" ")) val wordCounts = words.map(x => (x, 1)).reduceByKey(_ + _) ``` 4. 输出操作:对转换后的 DStream 进行输出操作,输出结果可以写入 HDFS、Kafka、Cassandra 等存储系统,或者直接打印在控制台。 ```scala wordCounts.print() ``` 5. 启动 StreamingContext:最后需要启动 StreamingContext,并等待程序运行结束。 ```scala ssc.start() ssc.awaitTermination() ``` 完整的 Spark Streaming RDD 编程示例代码如下: ```scala import org.apache.spark.SparkConf import org.apache.spark.streaming.{Seconds, StreamingContext} object SparkStreamingRDD { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("Streaming example") val ssc = new StreamingContext(conf, Seconds(1)) val lines = ssc.socketTextStream("localhost", 9999) val words = lines.flatMap(_.split(" ")) val wordCounts = words.map(x => (x, 1)).reduceByKey(_ + _) wordCounts.print() ssc.start() ssc.awaitTermination() } } ``` 这个例子从本地 9999 端口读取输入数据,将输入数据拆分成单词,并计算每个单词出现的次数。最后将结果打印在控制台。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值