尝试从Google云存储中加载表时遇到以下错误:
BadRequest:400负载配置必须指定至少一个源URI(POST https://www.googleapis.com/bigquery/v2/projects/fansidata/jobs

同时,我的uri有效(即:我可以在gcs网络应用中看到它)

uris = ['gs://my-bucket-name/datastore_backup_analytics_2016_12_21_2_User/1569751766512529035929A5AA9742/output-0']

job_name = 'Load_User'
destinationTable = dataset.table('Transfer')
job = bigquery_client.load_table_from_storage(job_name, destinationTable, uris)
job.begin()

最佳答案

我可能是错的,但看起来Python API中的load_table_from_storage期望第三个参数使用单个字符串而不是列表。如果要匹配多个文件,可以在末尾使用*。例如,

uri = 'gs://my-bucket-name/datastore_backup_analytics_2016_12_21_2_User/1569751766512529035929A5AA9742/output-*']

job_name = 'Load_User'
destinationTable = dataset.table('Transfer')
job = bigquery_client.load_table_from_storage(job_name, destinationTable, uri)
job.begin()

08-06 10:03