troubleshooting 解决算子函数返回NULL导致问题
2016-10-30 00:00
176 查看
在算子函数中,返回null
大家可以看到,在有些算子函数里面,是需要我们有一个返回值的。但是,有时候,我们可能对某些值,
就是不想有什么返回值。我们如果直接返回NULL的话,会报错的!!!
Scala.Math(NULL),异常
如果碰到你的确是对于某些值,不想要有返回值的话,有一个解决的办法:
在返回的时候,返回一些特殊的值,不要返回null,比如“-999”
在通过算子获取到了一个RDD之后,可以对这个RDD执行filter操作,进行数据过滤。filter内,可以对数据进行判定,如果是-999,那么就返回false,给过滤掉就可以了。
大家不要忘了,之前咱们讲过的那个算子调优里面的coalesce算子,在filter之后,可以使用coalesce算子压缩一下RDD的partition的数量,让各个partition的数据比较紧凑一些。也能提升一些性能。
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),异常
如果碰到你的确是对于某些值,不想要有返回值的话,有一个解决的办法:
在返回的时候,返回一些特殊的值,不要返回null,比如“-999”
在通过算子获取到了一个RDD之后,可以对这个RDD执行filter操作,进行数据过滤。filter内,可以对数据进行判定,如果是-999,那么就返回false,给过滤掉就可以了。
大家不要忘了,之前咱们讲过的那个算子调优里面的coalesce算子,在filter之后,可以使用coalesce算子压缩一下RDD的partition的数量,让各个partition的数据比较紧凑一些。也能提升一些性能。
相关文章推荐
- Spark优化-troubleshooting 解决算子函数返回NULL导致问题
- troubleshooting之解决算子函数返回NULL导致的问题
- Spark性能优化-------troubleshooting之解决算子函数返回NULL导致的问题
- PHP中使用了mcrypt_decrypt函数处理Json串后导致Json_decode返回null问题
- spark troubleshooting--算子函数返回NULL导致问题
- iOS中解决后台返回的null导致的崩溃问题--NullSafe
- 解决返回数据中存在Null而导致的错误问题
- 函数有返回值且返回值为引用类型的问题返回null
- Mysql CONVERT_TZ 函数使用及返回NULL解决方案(时区转换问题)
- MFC中onctlcolor函数返回的画刷导致的内存资源泄露问题
- 在使用了MasterPage后,FindControl()函数返回null的问题
- rs返回值的问题:JDBC ResultSet#getInt方法, 若数据库中记录的数值为null,getInt返回的是数值“0”,而不是null!
- PowerShell 函数返回值的问题
- ExternalInterface的call函数返回null的原因分析(AS2)
- 三个学生四门课程的问题(返回指针值的函数)
- Vs2005中GetPreloadedEntityBody()返回null的问题
- 引用 commons.net包中的FTPClient.listFiles()方法返回null的问题及其解决方案(转)
- 网店版重生系列:多数据源单sqlMapClient导致NullPointerException问题跟踪
- GetDlgItem()返回NULL的问题
- CaptureDeviceManager.getDeviceList方法返回null对象问题探究