Читайте File spark, установите для поля, имеющего определенное значение, значение null или "" - PullRequest
0 голосов
/ 17 сентября 2018

Я читаю текстовый файл, разделенный знаком | , Есть несколько полей, имеющих значение \ N. При чтении файла строка за строкой во фрейм данных, есть ли способ сделать поле со значением \ N равным нулю или "". Код указан ниже.

val inputDf = sqlContext.read.format("csv")
      .option("header", "true")
      .option("inferSchema", "false")
      .schema(myschema)
      .option("delimiter", "|")
      .option("nullValue", "")
      .load("My Input file Path")

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

«DataFrameNaFunctions» может использоваться для замены значения «\ N» во всех столбцах на «»:

df.na.replace(df.columns.toSeq, Map("\\N" -> ""))
0 голосов
/ 17 сентября 2018

Как только вы загрузите фрейм данных, используйте условие when для всех столбцов общим способом

inputDf.select(inputDf.columns.map(c=> when(col(c) === “\\N”,””).otherwise(col(c)).alias(c)):_*).show
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...