После чтения Dataframe мне нужно обнулить некоторые столбцы (Столбцы с информацией PII), но сохранить исходный столбец DataType.
Я пробовал это:
implicit class DataFrameImplicits (dataFrame: DataFrame) {
def withPIIColumnsNullified(piiCols : Seq[String]) : DataFrame = {
piiCols.foldLeft(dataFrame) { (outputDf, piiCol) => {
outputDf.withColumn(piiCol, it(null))
}
}
}
}
В моем logi c:
val piiCols = //column list needs to be nullified
var df = //read the datafrom HDFS
df = df.withPIIColumnsNullified(piiCols)
Но указанный выше метод изменил исходный тип столбца на «нулевой тип», что сделало невозможным сохранение как Parquet.
Как сохранить исходный DataType при выполнении этого преобразования ?