spark troubleshooting--算子函数返回NULL导致问题
2017-03-25 17:26
323 查看
troubleshooting 解决算子函数返回NULL导致问题
在算子函数中,返回null
return actionRDD.mapToPair(new PairFunction<Row, String, Row>() {
private static final long serialVersionUID = 1L;
@Override
public Tuple2<String, Row> call(Row row) throws Exception {
return new Tuple2<String, Row>("-999", RowFactory.createRow("-999"));
}
});
大家可以看到,在有些算子函数里面,是需要我们有一个返回值的。但是,有时候,我们可能对某些值,
就是不想有什么返回值。
我们如果直接返回NULL的话,那么可以不幸的告诉大家,是不行的,会报错的!!!
Scala.Math(NULL),异常
如果碰到你的确是对于某些值,不想要有返回值的话,有一个解决的办法:
1、在返回的时候,返回一些特殊的值,不要返回null,比如“-999”
2、在通过算子获取到了一个RDD之后,可以对这个RDD执行filter操作,进行数据过滤。
filter内,可以对数据进行判定,如果是-999,那么就返回false,给过滤掉就可以了。
3、大家不要忘了,之前咱们讲过的那个算子调优里面的coalesce算子,在filter之后,
可以使用coalesce算子压缩一下RDD的partition的数量,让各个partition的数据比较紧凑一些。
也能提升一些性能。
在算子函数中,返回null
return actionRDD.mapToPair(new PairFunction<Row, String, Row>() {
private static final long serialVersionUID = 1L;
@Override
public Tuple2<String, Row> call(Row row) throws Exception {
return new Tuple2<String, Row>("-999", RowFactory.createRow("-999"));
}
});
大家可以看到,在有些算子函数里面,是需要我们有一个返回值的。但是,有时候,我们可能对某些值,
就是不想有什么返回值。
我们如果直接返回NULL的话,那么可以不幸的告诉大家,是不行的,会报错的!!!
Scala.Math(NULL),异常
如果碰到你的确是对于某些值,不想要有返回值的话,有一个解决的办法:
1、在返回的时候,返回一些特殊的值,不要返回null,比如“-999”
2、在通过算子获取到了一个RDD之后,可以对这个RDD执行filter操作,进行数据过滤。
filter内,可以对数据进行判定,如果是-999,那么就返回false,给过滤掉就可以了。
3、大家不要忘了,之前咱们讲过的那个算子调优里面的coalesce算子,在filter之后,
可以使用coalesce算子压缩一下RDD的partition的数量,让各个partition的数据比较紧凑一些。
也能提升一些性能。
相关文章推荐
- Spark性能优化-------troubleshooting之解决算子函数返回NULL导致的问题
- Spark优化-troubleshooting 解决算子函数返回NULL导致问题
- troubleshooting之解决算子函数返回NULL导致的问题
- troubleshooting 解决算子函数返回NULL导致问题
- spark troubleshooting--yarn-client模式导致的网卡流量激增问题
- PHP中使用了mcrypt_decrypt函数处理Json串后导致Json_decode返回null问题
- iOS中解决后台返回的null导致的崩溃问题--NullSafe
- Spark性能优化----troubleshooting之解决各种序列化导致的报错
- 解决返回数据中存在Null而导致的错误问题
- spark troubleshooting--解决各种序列化导致的错误
- troubleshooting yarn-client模式导致的网卡流量激增问题
- Mysql CONVERT_TZ 函数使用及返回NULL解决方案(时区转换问题)
- spark troubleshooting--JVM GC导致的shuffle文件拉取失败
- 函数有返回值且返回值为引用类型的问题返回null
- 在使用了MasterPage后,FindControl()函数返回null的问题
- MFC中onctlcolor函数返回的画刷导致的内存资源泄露问题
- spark troubleshooting--YARN队列资源不足导致的application直接失败
- spark troubleshooting--解决yarn-cluster模式的JVM栈内存溢出问题
- [转]PHP使用empty检查函数返回结果时报Fatal error: Can't use function return value in write context的问题
- rs返回值的问题:JDBC ResultSet#getInt方法, 若数据库中记录的数值为null,getInt返回的是数值“0”,而不是null!