首页 > 解决方案 > 仅使用 java rdd 在 spark 中处理空值

问题描述

我已经使用java RDD读取了一个csv文件,将其拆分并从中删除标题,但是在读取它给出的记录时:

java.lang.ArrayIndexOutOfBoundsException:5

因为文件末尾有两个空行。

我想知道如何处理这些空值,但我必须只使用 Java RDD 来执行所有操作。

标签: javaapache-spark

解决方案


在循环记录时,您必须处理空字符串行,因此您的代码将如下所示:

    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);
        }
    });

推荐阅读