Google BigQuery中的时间戳格式丢失
根据另一个问题,我一直在用这个(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
这个函数的话,它应该会按照你的预期来工作。