在将数据写入spark scala之前,将所有null替换为空格

问题描述 投票:-1回答:2

这就是我用null替换所有""的方法。

val dfMainOutputFinalWithoutNull = dfMainOutputFinal.withColumn("concatenated", regexp_replace(col("concatenated"), "null", "")).withColumnRenamed("concatenated", header)

dfMainOutputFinalWithoutNull.repartition(1).write.partitionBy("DataPartition","StatementTypeCode")
  .format("csv")
  .option("nullValue", "")
  .option("delimiter", "\t")
  .option("quote", "\u0000")
  .option("header", "true")
  .option("codec", "gzip")
  .save("s3://trfsmallfffile/FinancialLineItem/output")

但我的问题是这也取代了记录中的null。例如

在我的剧本之后,无论在哪里找到qazxsw poi,我都会获得qazxsw poi。

如果找到null列,我怎么能替换null。

scala apache-spark spark-dataframe
2个回答
0
投票

试试下面

annullment

0
投票

你可以使用ament

val dfMainOutputFinalWithoutNull = dfMainOutputFinal.withColumn("concatenated", regexp_replace(col("concatenated"), "|^|null", "")).withColumnRenamed("concatenated", header)

© www.soinside.com 2019 - 2024. All rights reserved.