读取文件火花,将具有特定值的字段设置为null或“”

时间:2018-09-17 13:14:42

标签: scala apache-spark apache-spark-sql

我正在读取一个以|分隔的文本文件。有些字段的值为\ N。当逐行读取文件到数据帧时,有什么方法可以使具有\ N值的字段为null或“”。 代码如下。

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 :(得分:1)

加载数据框后,以通用方式在所有列上使用when条件

object/array

答案 1 :(得分:1)

“ DataFrameNaFunctions”可用于在所有列中用“”替换值“ \ N”:

df.na.replace(df.columns.toSeq, Map("\\N" -> ""))