BigQuery CLI:加载命令保持挂起状态



我的电脑上有一个csv文件。我想把这个CSV文件加载到BigQuery表中。我正在使用来自终端的以下命令:

bq load --apilog=./logs --field_delimiter=$(printf ';') --skip_leading_rows=1 --autodetect dataset1.table1 mycsvfile.csv myschema.json

我的终端中的命令没有给出任何输出。在GCP接口中,我看到没有创建作业,这让我认为请求甚至没有到达GCP。在日志文件中(来自--apilog参数(,我得到了关于正在进行的请求的信息,它以以下结尾:

INFO:googleapiclient.discovery:URL being requested: POST https://bigquery.googleapis.com/upload/bigquery/v2/projects/myproject/jobs?uploadType=resumable&alt=json

就这样。不管我等多久,什么都不会发生。

您正在将--autodetect与myschema.json混合,类似于以下内容:

bq load --apilog=logs 
--source_format=CSV 
--field_delimiter=';' 
--skip_leading_rows=1 
--autodetect 
dataset.table 
mycsvfile.csv

如果您仍然有问题,请发布apilog的内容,您共享的行似乎不是错误。应该有多行,并且通常在json结构中包含错误,例如:

"reason": "invalid",
"message": "Provided Schema does not match Table project:dataset.table. Field users is missing in new schema"

我不知道你为什么要使用

-apilog=/记录

我在bq加载文档中没有发现这一点,请澄清。

基于此,bq-load命令可能是问题所在,您可以尝试以下操作:

bq load 
--autodetect  
--source_format=CSV 
--skip_leading_rows= 1  
--field_delimiter=';'
dataset1.table1 
gs://mybucket/mycsvfile.csv 
./myschema.json

如果失败,请检查您的作业列表以创建作业,然后使用bq show查看有关该作业的信息,在那里您应该会发现一个错误消息,可以帮助您确定问题的原因。

最新更新