# #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 года