У меня есть данные AVRO со следующими полями, где create_at & updated_at - это столбец TIMESTAMP, представленный в логическом типе AVRO, который преобразовал его в LONG.
Схема AVRO:
|-- id: integer (nullable = true)
|-- account_manager_id: integer (nullable = true)
|-- total_sales_existing_accounts: integer (nullable = true)
|-- total_sales_new_accounts: integer (nullable = true)
|-- qtr_start_date: long (nullable = true)
|-- qtr_end_date: long (nullable = true)
|-- created_at: long (nullable = true)
|-- updated_at: long (nullable = true)
|-- total_sales_with_contact: integer (nullable = true)
|-- total_sales: integer (nullable = true)
|-- total_sales_percentage_compared_to_previous: integer (nullable = true)
Итак, при загрузке этого файла в BigQuery я хочу, чтобы таблица BigQuery имела столбец TIMESTAMP, а не столбец INTEGER с UNIX EPOC TIMESTAMP.
Согласно документации BigQuery, я устанавливаю --use_avro_logical_types
этот флаг в True
, в то время какзагрузка данных.
bq --location=US load --source_format=AVRO --use_avro_logical_types=True writable.test_account_stat gs://test-bucket/production/avro/account_quarter_sales_stats/*.avro
Документация
Но --use_avro_logical_types=True
игнорируется, и моя таблица BigQuery имеет эти столбцы даты как INTEGER.
Я попытался с API, а также с командной строкой согласно следующей документации, но не повезло: (