我有一个程序可以从网上下载一些数据并将其保存为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
覆盖表格?
答案 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
。