使用命令行界面创建联合数据源时,是否可以指定加载选项,如字段分隔符,允许锯齿状行等?
bq mk --external_table_definition=column_1:STRING,column_2:STRING@CSV=gs://my-bucket/my_files*.csv my_dataset.my_table
当您在Web UI或API中设置联合表时,您是否可以访问所有csv选项,它们是否被排除在命令行工具之外?
您可以在表定义JSON
文件中指定这些选项。你可以在this document找到很多例子。对于你在问题中提出的问题,你的JSON
应该类似如下:
{
"schema": {
"fields": [
{
"name": "column_1",
"type": "STRING"
},
{
"name": "column_2",
"type": "STRING"
}
]
},
"csvOptions": {
"allowJaggedRows": true,
"fieldDelimiter": "[DELIMITER]"
},
"sourceFormat": "CSV",
"sourceUris": [
"[BUCKET_URI]"
]
}
然后只需运行相同的命令并指定JSON file path
而不是inline schema
:
bq mk --external_table_definition=[JSON_FILE_PATH] [YOUR_DATASET.YOUR_TABLE]