Конвертируйте метку времени Unix в avro и сохраняйте ее в BigQuery - PullRequest
0 голосов
/ 07 июня 2019

Авро схема:

{
  "name": "Entity",
  "type": "record",
  "namespace": "com.foobar.entity",
  "fields": [
    {
      "name": "attribute",
      "type": "string"
    },
    {
      "name": "value",
      "type": "int"
    },
    {
      "name": "timestamp",
      "type": { "type": "long", "logicalType": "timestamp-micros" }
    }
  ]
}

Исходная временная метка в формате Unix с точностью до миллисекунды.

Когда я помещаю такие записи в BigQuery, я получаю такие значения, как 1970-01-19 01:18:19.415 UTC в предварительном просмотре данных BigQuery. Однако я сохранил значение 1559899418, равное Friday, 7. June 2019 09:23:38. Есть идеи почему?

Ссылка: https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-avro#logical_types

1 Ответ

1 голос
/ 07 июня 2019

Ваша временная метка отключена с коэффициентом 1000. Действительно, 1559899418 соответствует Friday, 7. June 2019 09:23:38, но это с точностью до секунды ( Unix timestamp ), а не миллисекундами.И 1559899 (одна тысячная из 1559899418) действительно соответствует 1970-01-19 01:18:19

...