java - 仅使用 java rdd 在 spark 中处理空值
问题描述
我已经使用java RDD读取了一个csv文件,将其拆分并从中删除标题,但是在读取它给出的记录时:
java.lang.ArrayIndexOutOfBoundsException:5
因为文件末尾有两个空行。
我想知道如何处理这些空值,但我必须只使用 Java RDD 来执行所有操作。
解决方案
在循环记录时,您必须处理空字符串行,因此您的代码将如下所示:
SparkConf conf = new SparkConf().setAppName("CSV Reader").setMaster("local[*]");
JavaSparkContext sc = new JavaSparkContext(conf);
JavaRDD<String> inputfile = sc.textFile("path/input.csv");
inputfile.foreach(string -> {
if (string != null && !string.trim().isEmpty()) {
// Reading the record ...
System.out.println(string);
}
});
推荐阅读
- coq - 由 case_eq 和 Coq 重写导致的抽象/打字错误
- sql - 如何在SQL中选择具有一列条件值的行
- python - 删除列表中的特定列表
- keycloak - 如何在keycloak中的单个资源上添加多个所有者
- filter - 在 powerbi 中使用多个过滤器进行 DAX 查询
- python - Python, linux:使用 wifi Cell 和 Scheme,我如何连接到网络?
- discord - 从不同的文件中获取给定文件的文件夹(JAVASCRIPT)
- reactjs - jsx中的条件交替父标签
- arrays - 不确定这个数组
- python - 如何记录数据帧的内容,以便每次运行程序时都不会打印相同的内容?