【发布时间】:2021-12-29 12:33:22
【问题描述】:
我有一个功能,可以让我从客户端应用程序查询数据块增量表。这是我为此目的使用的代码:
df = spark.sql('SELECT * FROM EmployeeTerritories LIMIT 100')
dataframe = df.toPandas()
dataframe_json = dataframe.to_json(orient='records', force_ascii=False)
但是,第二行给我带来了错误
从 timestamp[us, tz=Etc/UTC] 转换为 timestamp[ns] 会导致时间戳越界
我知道这个错误是什么意思,我的日期类型字段超出范围,我尝试搜索解决方案,但没有一个符合我的方案。
我找到的解决方案是关于一个特定的数据框列,但在我的情况下,我遇到了一个全局问题,因为我有大量的增量表,而且我不知道具体的日期类型列,所以我可以进行类型操作以便避免这种情况。
是否可以找到所有Timestamp 类型的列并将它们转换为string?这似乎是一个很好的解决方案?您对如何实现我想要做的事情还有其他想法吗?
【问题讨论】:
-
不,它没有。此解决方案要求我知道列名,在我的情况下它不是一个单独的,并且不同的表可能具有不同的列名和时间戳类型。
-
你不能使用
schema来获取这些列名吗?
标签: pandas apache-spark pyspark apache-spark-sql databricks