pyspark 不清楚Spark问题是否已在任何Spark版本中得到解决

jecbmhm3  于 2023-03-17  发布在  Spark
关注(0)|答案(1)|浏览(147)

我正在使用AWS Glue 4,它运行在Spark 3.3.0上。我受到以下问题的阻碍:https://issues.apache.org/jira/browse/SPARK-25177
其最佳总结如下:
如果小数类型值的小数位数〉6,则将以科学记数法显示/输出零(0)值,因此,当〉将 Dataframe 输出保存到外部数据库时,由于“0”值上的科学记数法而失败。
可重现性如下:

spark.sql("create table test (a decimal(10,7), b decimal(10,6), c decimal(10,8))")
spark.sql("insert into test values(0, 0,0)")
spark.sql("insert into test values(1, 1, 1)")
spark.table("test").show()
+---------+--------+----------+
|        a|       b|         c|
+---------+--------+----------+
|     0E-7|0.000000|      0E-8| //If scale > 6, zero is displayed in scientific notation
|1.0000000|1.000000|1.00000000|
+---------+--------+----------+

我已经在AWS Glue 4(运行Spark 3.3.0)上测试过这个问题,但它在那里没有得到修复。
有人知道这个Spark pull请求https://github.com/apache/spark/pull/22171是否真的进入了Spark版本吗?从pull请求中我可以看到这个补丁进入了master版本,但是我不确定这是否意味着它已经发布了。
先谢谢你的帮助。
PS:此处建议了一个可行的变通方案:https://community.databricks.com/s/question/0D53f00001lLNxuCAG/dataframe-cast-string-to-decimal-when-encountering-zeros-returns-oe16

hgb9j2n6

hgb9j2n61#

@Lamanus证实,该问题只是关闭,并没有解决。

相关问题