在" bq load .. localfile.csv&#34 ;?期间临时存储输入的位置

时间:2018-03-12 13:50:23

标签: google-cloud-platform google-bigquery google-cloud-storage

gcloud-sdk命令" bq load"可以将本地文件作为输入。

在命令的输出中,看起来该文件首先被上传到谷歌云存储某处,然后才安排bigquery加载作业。鉴于bigquery schedule-load-job端点的REST api也只需要" gs://" url,并且load-job需要数据可以访问,我很确定这样上传到云存储(虽然我无法找到任何明确的文档)描述" bq加载"使用本地文件。

我的问题是:有人可以告诉我哪里本地文件暂时上传到?它是gcloud项目云存储桶之一,还是其他地方?是否保证在加载作业完成后删除它?

我要求数据仅保存在特定的地理区域,因此(假定的)临时存储的位置非常重要。

我可以将数据明确上传到存储,然后使用" bq load"参考云存储,但随后需要安排删除数据,这是一个小小的不便。具有"生命周期规则的专用存储"至少可以在1天后删除,但是" bq加载.. localfile"方法更清洁..

1 个答案:

答案 0 :(得分:0)

如果您运行bq --help,则可以看到其中global bq_flags之一是--location。它的定义如下:

  

- location:“创建数据集或确定作业应在何处运行时使用的默认地理位置(否则时忽略)   适用。)”

如果你跑:

bq load --location=eu {your-table} {your-source} 

对于位于欧盟的数据集,工作应该成功,所有相关的工作都应该在欧盟运行。