[英]Custom Formatting of JSON output using Spark
我有一個帶有一堆BigDecimal值的數據集。 我想將這些記錄輸出到JSON文件,但是當我這樣做時,BigDecimal值通常會寫有尾隨零( 123.4000000000000
),但是我們必須遵守的規范不允許這樣做(出於我不理解的原因) )。
我正在嘗試查看是否有一種方法可以覆蓋如何將數據打印到JSON。 目前,我最好的想法是使用JACKSON將每個記錄轉換為字符串,然后使用df.write().text(..)
而不是JSON寫入數據。
我建議在寫入JSON之前將Decimal類型轉換為String。
下面的代碼在Scala中,但是您可以在Java中輕松使用它
import org.apache.spark.sql.types.StringType
# COLUMN_NAME is your DataFrame column name.
val new_df = df.withColumn('COLUMN_NAME_TMP', df.COLUMN_NAME.cast(StringType)).drop('COLUMN_NAME').withColumnRenamed('COLUMN_NAME_TMP', 'COLUMN_NAME')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.