我的计算机上有一个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
就是这样。无论我等待多长时间,都不会发生任何事情。
答案 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"