Допустим, у меня есть простой файл с разделителями каналов с пропущенными значениями:
A|B||D
Я прочитал это в фрейм данных:
val foo = spark.read.format("csv").option("delimiter","|").load("/path/to/my/file.txt")
Вместо этого отсутствует третий столбец значение NULL, имеет строку NULL:
+-----------+----+
|_c0|_c1| _c2|_c3|
+-----------+----+
|a |b |null|c |
Я хотел бы иметь возможность контролировать, что Spark делает с этим отсутствующим значением. Согласно документации CSV , существует опция nullValue
:
nullValue: строка, указывающая нулевое значение, любые поля, соответствующие этой строке, будут установлены как пустые в DataFrame.
Но так как у меня там нет никакого значения, я не могу контролировать его таким образом.
За исключением тестирования каждого поля каждого файла, который я прочитайте, есть ли способ контролировать, что искра делает с этими пробелами? Например, замените его на «N / A».
Мы используем Spark 2.1, если это уместно.