BigQuery не имеет дело с отметкой времени в миллисекундах со столбцом раздела - PullRequest
0 голосов
/ 11 мая 2018

У меня есть столбец метки времени Unix, который представлен в миллисекундах в моем CSV-файле.Теперь, когда я вставляю эти данные в свою таблицу bigQuery и запрашиваю ее, я получаю эту ошибку

bigQuery, не поддерживающую метки времени в миллисекундах

Теперь я хотел бы сделать этот столбец какстолбец раздела.У меня есть несколько вопросов 1) Даже если я сохраню его как int64, как я могу сделать столбец раздела в этом поле?2) Я бы хотел избежать дублирования таблиц.

1 Ответ

0 голосов
/ 11 мая 2018

Если ваши метки времени представлены в миллисекундах, вы не сможете правильно создать таблицу секционирования. Вместо этого вы должны использовать «столбец TIMESTAMP или DATE», как указано @TimBiegeleisen. Отметка времени будет использовать микросекундную точность . Когда ваш столбец будет в микросекундах, вы можете использовать что-то вроде следующего для создания многораздельной таблицы:

bq load --schema <your-timestamp-column>:TIMESTAMP,<some-other-column>:FLOAT --skip_leading_rows=1 --source_format=CSV --time_partitioning_field=<your-timestamp-column> <your-dataset>.<your-table> <your-csv-file>

(используйте --skip_leading_rows, если у вас есть имена столбцов в CSV-файле.)

Запросите вашу таблицу, используя Стандартный SQL, а не Legacy, как вы можете увидеть в официальных документах здесь :

Нельзя использовать устаревший SQL для запроса многораздельных таблиц или записи результатов запроса в многораздельные таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...