Sha*_*kar 4 java java-8 apache-spark
如果在使用Java 8和Spark迭代文件内容时遇到任何异常,我需要跳过记录.
我不想抛出异常,我只需要跳过该记录并继续其他记录.
代码示例是:
JavaRDD<Model> fileRDD = sc.textFile("filePath")
.map(line -> {
try {
String[] parts = line.split("\\|");
Long key = Long.parseLong(parts[0];
return line;
} catch (NumberFormatException nfe) {
//if i throw RuntimeException, its working file
//but i dont want to throw exception, i want to just skip the line,
// how do i do it using java 8 stream methods
}
});
Run Code Online (Sandbox Code Playgroud)
您可以使用filter而不是map:
JavaRDD<Model> fileRDD = sc.textFile("filePath")
.filter(line -> {
try {
String[] parts = line.split("\\|");
Long key = Long.parseLong(parts[0];
return true;
} catch (NumberFormatException nfe) {
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1892 次 |
| 最近记录: |