Apache spark 有没有办法设置spark csv数字格式?

Apache spark 有没有办法设置spark csv数字格式?,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,如果使用的是myDF.write.csv(“where”),如何设置存储数据的数字格式?例如,如果我这样做: val t = spark.sql("SELECT cast(1000000000000 as double) as aNum") t.write.csv("WXYZ") 然后查看WXYZ,我会发现我有1.0E12。我如何更改所有双精度的值,从而获得10000000000.00?我处理此问题的方法是将数字转换为字符串 val t = spark.sql("SELECT cast(100

如果使用的是
myDF.write.csv(“where”)
,如何设置存储数据的数字格式?例如,如果我这样做:

val t = spark.sql("SELECT cast(1000000000000 as double) as aNum")
t.write.csv("WXYZ")

然后查看
WXYZ
,我会发现我有
1.0E12
。我如何更改所有双精度的值,从而获得
10000000000.00

我处理此问题的方法是将数字转换为字符串

val t = spark.sql("SELECT cast(1000000000000 as string) as aNum")
t.write.csv("WXYZ")
t.show()
输出是

+-------------+
|         aNum|
+-------------+
|1000000000000|
+-------------+

)我希望这有帮助

如果数据来自hive,则有一个hive udf
printf
u可以使用:

select printf('%.2f', col) from foobar
计划B:

dataset.map( col => s"$col%.2f")
注意planB,根据您的数据源,可能会有额外的成本


顺便说一句,有时可能只是excel中的显示问题,只需使用文本编辑器检查csv即可

啊,我希望对一类项目而不是每个项目执行此操作。你说的“术语类”是什么意思?像一个专栏?