仅使用Java RDD处理Spark中的空值

时间:2019-04-07 11:17:09

标签: java apache-spark

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

  

java.lang.ArrayIndexOutOfBoundsException:5

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

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

1 个答案:

答案 0 :(得分:0)

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

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