首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PySpark在拼图中错误地输出'01/01/0001‘和'12/31/9999’

问PySpark在拼图中错误地输出'01/01/0001‘和'12/31/9999’
EN

Stack Overflow用户
提问于 2021-10-27 21:00:05
回答 1查看 181关注 0票数 0

我使用PySpark 3.0.1生成拼图文件。

当执行以下命令时

代码语言:javascript
复制
sparkDF.write.mode("overwrite").parquet(file_name)

在拼接文件中,9999-12-31 00:00:00.0000000 datetime被写为1816-03-29 11:56:08.066277376。

在拼接文件中,0001-01-01 00:00:00.0000000 datetime被写为1754-08-29 04:43:41.128654848。

相反,sparkDF.write.mode("overwrite").csv(file_name)以CSV格式输出正确的日期时间值。

有人知道这是怎么回事吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-10-29 00:40:57

我认为问题出在你用来阅读它们的系统上,它很可能被误解了,或者在处理int96时间戳格式时出现了溢出问题。您可以编写更标准的格式,如:

代码语言:javascript
复制
spark.conf.set("spark.sql.parquet.outputTimestampType", "TIMESTAMP_MICROS")
data_frame.write.parquet("path")

(来源:How to save spark dataframe to parquet without using INT96 format for timestamp columns?)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69745427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档