使用bq命令创建配置单元分区外部表时缺少配置单元分区键列

我正在使用bq版本2.0.58,并尝试创建配置单元分区BigQuery外部表。但是在使用bq命令(以下命令创建表)创建配置单元分区外部表时,缺少配置单元分区键列。

存储空间:

gs://<bucket>/myfolder/size=1000/file_1k.csv
gs://<bucket>/myfolder/size=10000/file_10k.csv

mkdef 命令,

bq mkdef --project_id=my-project --autodetect --source_format=CSV --hive_partitioning_mode=AUTO --hive_partitioning_source_uri_prefix=gs://<bucket>/myfolder gs://<bucket>/myfolder/* >my_table_def.json

mk 命令, bq mk --external_table_definition = my_table_def.json my-project:my-dataset.mytable

上面的命令创建了一个带有配置单元分区键列的表。但是当我向其中添加架构时。创建表时缺少添加分区键( size )列。

在创建表时缺少以下bq命令来创建分区键列。

bq mk --schema=ip:STRING,fraudype:STRING,probability:FLOAT --external_table_definition=my_table_def.json my-project:my-dataset.mytable

my_table_def.json

{
   "csvOptions": {
     "encoding": "UTF-8","quote": "\""
   },"hivePartitioningOptions": {
     "mode": "AUTO","sourceUriPrefix": "gs://<bucket>/myfolder"
   },"sourceFormat": "CSV","sourceUris": [
     "gs://<bucket>/myfolder/*"
   ]
 }
iCMS 回答:使用bq命令创建配置单元分区外部表时缺少配置单元分区键列

-schema命令不应与bq mk一起用于配置单元分区的外部表定义,mkdef会有所帮助。

解决方案:

bq mkdef --source_format=CSV \
--hive_partitioning_mode=CUSTOM \
--hive_partitioning_source_uri_prefix=gs://<bucket>/myfolder/{size:INTEGER} \
gs://<bucket>/myfolder/* \
ip:STRING,fraudype:STRING,probability:FLOAT >my_table_def.json

bq mk --external_table_definition=my_table_def.json my-project:my-dataset.mytable
本文链接:https://www.f2er.com/1926576.html

大家都在问