导入CSV文件但获取时间戳错误

rfbsl7qr  于 2023-01-18  发布在  其他
关注(0)|答案(1)|浏览(291)

我尝试将CSV文件导入BigQuery,在我尝试上传的任何每小时报告上,它都给出了代码
阅读数据时出错,错误消息:无法将4/12/2016 12:00:00 AM解析为从位置65开始的字段SleepDay(位置1)的TIMESTAMP,消息为Invalid time zone: AM
我知道这个格式试图使用AM作为时区,并导致了一个错误,但我不知道如何最好地解决它。所有每小时的条目将有AM或PM后的日期时间,这将是成千上万的条目。
我正在对我的模式使用autodetect,我相信这就是问题所在,但是我不确定在edit as text schema选项中放置什么来修复它

50few1ms

50few1ms1#

要在Bigquery中成功地将导入的字符串解析为时间戳,该字符串必须采用ISO 8601
YYYY-MM-DDThh:mm:ss.sss
如果您的源数据没有此格式,请尝试以下方法。
1.通过提供显式模式将CSV导入临时表,其中时间戳字段为字符串。

2.从创建的临时表中选择数据,使用下面指定的BigQuery PARSE_TIMESTAMP函数并写入永久表。

INSERT INTO `example_project.example_dataset.permanent_table`
SELECT
    PARSE_TIMESTAMP('%m/%d/%Y %H:%M:%S %p',time_stamp) as time_stamp,
    value
FROM `example_project.example_dataset.temporary_table`;

相关问题