Загрузка данных в большой запрос Google с указанием часового пояса

# #google-bigquery

Вопрос:

Я хочу проанализировать спрос на электроэнергию и рыночные цены, данные, которые публикует оператор энергетического рынка здесь, в Австралии

Данные представлены в формате CSV и имеют следующую схему. Я думаю, что время местное, т.Е. Позволяет переходить на летнее время

«Дата», «Время», «TOTALDEMAND», «RRP»

01/01/10,00:30:00,7809.31,21.5

IIUC чтобы разрешить переход на летнее / зимнее время, мне нужно использовать Timestamp, поэтому я объединил первые два поля данных

«Отметка времени», «TOTALDEMAND», «RRP»

01/01/10 00:30:00,7809.31,21.5

а затем я просмотрел документы BQ, чтобы посмотреть, как я сообщаю ему, для какого часового пояса предназначены данные. Вот где это ломается. Я пробовал то, что кажется каждой комбинацией

2021-09-01T00:00:00 Австралия /Сидней

2021-09-01 00:00:00 Австралия / Сидней

и единственный, который работает, — это если я использую UTC, но я не в UTC

2021-09-01 00:00:00 UTC

Есть идеи?

TIA

PS приношу извинения за стиль ident, форматировщик не позволяет мне использовать простой возврат cariage, который я вижу

Блестящий стев

Ответ №1:

Попробуйте 2021-09-01 00:00:00.000 11:00

Документация: https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-csv#data_types

BigQuery принимает различные форматы временных меток. Временная метка должна содержать часть даты и часть времени.

  • Часть даты может быть отформатирована как ГГГГ-ММ-ДД или ГГГГ / ММ / ДД.
  • Часть метки времени должна быть отформатирована как HH: MM[:SS[.SSSSSSS]] (секунды и доли секунды не являются обязательными).
  • Дата и время должны быть разделены пробелом или буквой «T».
  • По желанию за датой и временем может следовать смещение UTC или обозначение зоны UTC (Z). Дополнительные сведения см. в разделе Часовые пояса.

Например, любое из следующих допустимых значений метки времени:

  • 2018-08-19 12:11
  • 2018-08-19 12:11:35
  • 2018-08-19 12:11:35.22
  • 2018/08/19 12:11
  • 2018-07-05 12:54:00 UTC
  • 2018-08-19 07:11:35.220 -05:00
  • 2018-08-19T12:11:35.220Z

Если вы предоставляете схему, BigQuery также принимает время эпохи Unix для значений временных меток. Однако автоматическое определение схемы не обнаружит этот случай и вместо этого будет обрабатывать значение как числовой или строковый тип.

Примеры значений временных меток эпохи Unix:

  • 1534680695
  • 1.534680695e11

Комментарии:

1. Я рассматривал 11:00, но это только для 1/2 года. Аналогично, если бы я снова использовал 10:00, исправьте только 1/2 года