gpt4 book ai didi

python-3.x - 将 python 日期时间加载到 Google BigQuery

转载 作者:行者123 更新时间:2023-12-04 03:54:02 26 4
gpt4 key购买 nike

我正在将 Pandas 的日期时间字段加载到 Google BigQuery DATETIME 中并收到以下错误:

google.api_core.exceptions.BadRequest: 400 Error while reading data, error message: Invalid datetime value 1594835746000000 for field 'my field name' of type 'INT64' (logical type 'TIMESTAMP_MICROS'): generic::out_of_range: Cannot return an invalid datetime value of 1594835746000000 microseconds relative to the Unix epoch. The range of valid datetime values is [0001-01-1 00:00:00, 9999-12-31 23:59:59.999999]

在 Pandas 中,该对象绝对是一个 datetime.datetime 对象并且具有有效日期,当我从 1594835746000000 到 https://www.epochconverter.com/ 时它返回一个有效日期。

我正在通过调用将数据加载到 BigQuery 中:

job_config = bigquery.LoadJobConfig(schema = schema_fieldlist)
job = bigquery_client.load_table_from_dataframe(df, f'{dataset}.{tablename}', job_config)
job.result()

在哪里schema_fieldlist 是一个数组,对于相关字段,定义为:

bigquery.SchemaField('my field name', 'DATETIME')

我没有做任何聪明的事情 - 任何人都可以建议他们是否让这个工作以及如何工作?我看到了其他与返回时间戳有关的问题以及标准和遗留 SQL 方言之间有效范围的变化

最佳答案

我也遇到了 DATETIME 和 TIME 的问题(已报告 https://issuetracker.google.com/issues/169230812)。

以下是我使用的相关包版本:

   pyarrow==1.0.1
pandas==1.1.1
google-cloud-bigquery==1.28.0
numpy==1.19.1

TIMESTAMP 可以作为 DATETIME 的替代品,尽管带有隐含的时区。然而,它并不是 TIME 的良好替代品。

关于python-3.x - 将 python 日期时间加载到 Google BigQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64076076/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com