第18课:Spark Streaming中空RDD处理及流处理程序优雅的停止
/* 王家林老师授课http://weibo.com/ilovepains 每天晚上20:00YY频道现场授课频道 68917580*/
1 Spark Streaming中空RDD的处理
2 Spark Streaming程序优雅的停止
跟51cto和csdn课堂合作,最最重要的是如何贡献社会,祝福每个人拥有美好的人生。
机器学习在spark 2.x基础上授课。
空RDD没做什么事情又要消耗计算资源cpu cores,虽然什么都干,这个必须进行处理。
判断RDD有没有元素。
1、if(rdd.count()){} //不好的地方,count会触发一个job,不要这个方式。
2、if (!rdd.isEmpty){}// 目前有效的方式
3、if (rdd.partitions.isEmpty)
4、if(rdd.partitions > 0){
rdd.partitions.map(_)
//rdd.iterator //这个在executor中执行的,现在我们在driver中,无法使用的
}
5、rdd.partitions.isEmpty //这个不太对 ,不行的
/**
* An RDD that has no partitions and no elements.
*/
private[spark] class EmptyRDD[T: Cl