Я читаю файл .csv в Spark DataFrame. Для столбца DoubleType есть ли способ указать во время чтения файла, что этот столбец должен быть округлен до 2 десятичных знаков? Я также поставляю пользовательскую схему для вызова API DataFrameReader. Вот моя схема и вызовы API:
val customSchema = StructType(Array(StructField("id_1", IntegerType, true),
StructField("id_2", IntegerType, true),
StructField("id_3", DoubleType, true)))
#using Spark's CSV reader with custom schema
#spark == SparkSession()
val parsedSchema = spark.read.format("csv").schema(customSchema).option("header", "true").option("nullvalue", "?").load("C:\\Scala\\SparkAnalytics\\block_1.csv")
После того, как файл прочитан в DataFrame, я могу округлить десятичные дроби как:
parsedSchema.withColumn("cmp_fname_c1", round($"cmp_fname_c1", 3))
Но это создает новый DataFrame, поэтому я также хотел бы знать, можно ли это сделать на месте вместо создания нового DataFrame.
Спасибо