scala-读取文件spark,将具有特定值的字段设置为空或


0

我正在读取用分隔的文本文件。有些字段具有值 。将文件逐行读取到 DataFrame 时,是否有任何方法使字段的值 为空或“”。

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

加载 DataFrame 后,对所有列使用when条件

inputDf.select(inputDf.columns.map(c=> when(col(c) === “N”,””).otherwise(col(c)).alias(c)):_*).show

0

“dataframenafunctions”可用于将所有列中的值“ ”替换为“”:

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

我来回答