BigQuery CLI:加载命令保持待处理状态

时间:2020-03-26 15:13:25

标签: google-bigquery bq

我的计算机上有一个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

就是这样。无论我等待多长时间,都不会发生任何事情。

2 个答案:

答案 0 :(得分:0)

我不确定您为什么使用

-apilog =。/ logs

请在bq load documentation中找不到此内容。

基于此,也许是 bq load 命令的问题,您可以尝试以下操作:

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

如果失败,请检查您的job list以创建作业,然后使用bq show查看有关该作业的信息,在那里您应该找到错误信息,以帮助您确定问题的原因。

答案 1 :(得分:0)

您正在将--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"