簡體   English   中英

使用Spark自定義JSON輸出格式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM