Spark性能优化-------troubleshooting之解决算子函数返回NULL导致的问题
2018-03-05 15:36
811 查看
大家可以看到,在有些算子函数里面,是需要我们有一个返回值的。但是,有时候,我们可能对某些值,就是不想有什么返回值。我们如果直接返回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"));
// }
//
// });
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"));
// }
//
// });
相关文章推荐
- spark troubleshooting--算子函数返回NULL导致问题
- Spark性能优化----troubleshooting之解决各种序列化导致的报错
- troubleshooting之解决算子函数返回NULL导致的问题
- Spark优化-troubleshooting 解决算子函数返回NULL导致问题
- 【关于TABLE函数的SQL优化】解决CBO对TABLE函数基数估算导致的性能问题
- troubleshooting 解决算子函数返回NULL导致问题
- PHP中使用了mcrypt_decrypt函数处理Json串后导致Json_decode返回null问题
- iOS中解决后台返回的null导致的崩溃问题--NullSafe
- spark troubleshooting--解决各种序列化导致的错误
- Spark 性能优化问题与解决思路
- spark troubleshooting--yarn-client模式导致的网卡流量激增问题
- spark troubleshooting--解决yarn-cluster模式的JVM栈内存溢出问题
- 解决返回数据中存在Null而导致的错误问题
- findViewById返回null的问题解决
- 在使用了MasterPage后,FindControl()函数返回null的问题
- getBestProvider总是返回null问题的解决之道
- 构建高性能ASP.NET站点 第七章 如何解决内存的问题(前中篇)―托管资源优化―监测CLR性能
- (转)!!频繁分配释放内存导致的性能问题的分析 --(附)malloc分配原理浅析 mmap关注焦点 如何优化分配内存
- 解决函数中返回局部指针变量的问题,加深理解《堆和栈》问题。
- 标题: 优化 Java 垃圾收集的性能——如何利用 IBM Java 虚拟机检测和解决垃圾收集问题