Google BigQuery中的时间戳格式丢失

5 投票
1 回答
1511 浏览
提问于 2025-04-18 18:34

根据另一个问题,我一直在用这个(python)把我的时间戳推送到bigquery(这些时间戳来自一个node-js应用,格式是毫秒数):

e["createdOn"] = e["createdOn"] / 1000.0

但是它们最后变成了这样:

SELECT updatedOn,TIMESTAMP_TO_USEC(updatedOn) FROM [table.sessions] WHERE session = xxxxxxx
Row updatedOn f0_    
1 2014-08-18 11:55:49 UTC 1408362949426000
2 2014-08-18 11:55:49 UTC 1408362949426000 

我一直在打印调试信息,这是它们在用insertAll插入之前的最后状态:

{u'session': 100000000000080736, u'user': 1000000000075756, u'updatedOn': 1409052076.223}

1 个回答

2

我觉得你搞混了USEC(微秒)和MSEC(毫秒)。你提供的时间戳是以毫秒为单位的,但你又把它转换成微秒,这样最后三位数字就会是0,因为微秒的精度比你提供的要高。

如果你使用TIMESTAMP_TO_MSEC这个函数的话,它应该会按照你的预期来工作。

撰写回答