我具有以下字段的AVRO数据,其中created_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列,而不应具有UNIX EPOC TIMESTAMP的INTEGER列。
根据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和命令行,但是没有运气:(