Я загружаю данные из Oracle в Bigquery. Я хотел добавить дополнительный столбец в таблицу Bigquery на основе существующего столбца в Oracle.
Я создал простой поток. ExecuteSQL ->UpdateRecord -> PutBigQueryBatch
В Oracle у меня есть столбцы A (строка), B (строка) и C (отметка времени).
Для проверки работоспособности этого потока я создал новое свойство '/ D' в UpdateRecord
со значением '/ A'. Выходные данные имели дополнительный столбец D со значением, аналогичным значению A (строка). Это сработало отлично.
Для проверки работоспособности этого потока я создал новое свойство '/ D' в UpdateRecord
со значением '/ C'. Выходные данные имели дополнительный столбец D со значением, равным C (логический тип AVRO timestamp-millis). Это также сработало.
Я хочу загрузить данные в Bigquery, но столбец D как тип данных BigQuery Date вместо типа данных BigQuery Timestamp.
Как преобразовать логический тип Avro Timestamp -миллис к логическому типу Avro Дата?
Пример:
Oracle:
A | B | C
-----------------------------------------------------------------------------
1 | 2 |2013-12-10T13:24:40.000Z
Bigquery:
A | B | C | D
-------------------------------------------------------------------------------------------------
1 | 2 | 2013-12-10T13:24:40.000Z | 2013-12-10
Схема вывода в 'поле' от ExecuteSQL
:
{ "name": "A", "type": ["null","string"] },
{ "name": "C", "type": { "type" : "string","logicalType" : "timestamp-millis" } },
{ "name": "B", "type": ["null","string"] }