我使用PySpark 3.0.1生成拼图文件。
当执行以下命令时
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格式输出正确的日期时间值。
有人知道这是怎么回事吗?谢谢。
发布于 2021-10-29 00:40:57
我认为问题出在你用来阅读它们的系统上,它很可能被误解了,或者在处理int96时间戳格式时出现了溢出问题。您可以编写更标准的格式,如:
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?)
https://stackoverflow.com/questions/69745427
复制相似问题