【发布时间】:2021-05-25 00:08:54
【问题描述】:
我正在尝试将 Spark DataFrame 转换为 Pandas。但是,它给出了以下错误:
OutOfBoundsDatetime: Out of bounds nanosecond timestamp:
有解决办法吗?
如果我删除所有时间戳列,它会起作用,但我想将整个表带入 Pandas。
在将 Spark DataFrame 引入 Pandas 时,我从未遇到过错误。
这是一个包含多个时间戳列的相当大的表。有些是YYYY-MM-DD,有些是YYYY-MM-DD 00:00:00 类型的列。
有几列包含不存在的年份变量,数量不详。
下面是一个例子。
data = {
"ID": ["AB", "CD", "DE", "EF"],
"year": [2016, 2017, 2018, 2018],
"time_var_1": [
"3924-01-04 00:00:00",
"4004-12-12 12:38:00",
"2018-10-02 01:32:23",
"2018-04-05 00:00:00",
],
}
df = pd.DataFrame(data)
sdf = spark.createDataFrame(df)
sdf = sdf.withColumn("time_var_1", spark_fns.to_timestamp(spark_fns.col("time_var_1")))
我对 PySpark 不是很熟悉,所以我不确定将表从 Spark DataFrame 带到 Pandas 时是否有 errors='coerce' 等效项。
【问题讨论】:
标签: pandas apache-spark pyspark apache-spark-sql