Google BigQuery:如何使用gsutil删除或覆盖表格?

时间:2017-07-22 13:51:13

标签: google-bigquery gsutil

我有一个程序可以从网上下载一些数据并将其保存为csv,然后将该数据上传到Google Cloud Storage Bucket。接下来,该程序将使用gsutil通过连接Google BigQuery Table中的所有文件来创建新的Google Cloud Storage Bucket。要进行连接,我在command prompt中运行此命令:

bq load --project_id=ib-17   da.hi   gs://ib/hi/*  da:TIMESTAMP,bol:STRING,bp:FLOAT,bg:FLOAT,bi:FLOAT,lo:FLOAT,en:FLOAT,kh:FLOAT,ow:FLOAT,ls:FLOAT

问题在于,由于某种原因,此命令附加到现有表,因此我获得了大量重复数据。问题是如何首先使用gsutil删除表格,或者如何使用gsutil覆盖表格?

2 个答案:

答案 0 :(得分:2)

如果我正确理解了您的问题,您应该删除并重新创建表格:

bq rm -f -t da.hi
bq mk --schema da:TIMESTAMP,bol:STRING,bp:FLOAT,bg:FLOAT,bi:FLOAT,lo:FLOAT,en:FLOAT,kh:FLOAT,ow:FLOAT,ls:FLOAT -t da.hi

答案 1 :(得分:2)

另一种可能性是使用--replace标志,例如:

bq load --replace --project_id=ib-17   da.hi   gs://ib/hi/*

我认为此标志曾被称为WRITE_DISPOSITION,但看起来CLI已将名称更新为--replace

相关问题