1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Bigqueryの不要テーブルを一括で削除する方法

Last updated at Posted at 2021-10-11

削除コマンド

データセット単位で一括削除するコマンド

bq ls --project_id 【PROJECT-ID】 -n 1000 【DATASET】 | awk '/【削除したいテーブルフィルタ条件】/{ print "【DATASET】."$1 }' | xargs -n 1 -t bq rm -f

分解して解説してきます

1.bq ls --project_id PROJECT-ID -n 1000 DATASET ですが、これは指定したプロジェクトのデータセットのテーブルを1000件まで表示するコマンドです。
-nで上限を決めていますが、なくても良いですし、100件までとすることもできます。

2.awk '/フィルタ条件/{ print "DATASET."$1 }'ですが、awkコマンドを使用してフィルタを掛けています。
これをすることで特定のデータセットの不要なテーブルのみを抽出します。
$1は変数です。
パイプラインで繋いでいる1の結果を受け取っています。

3.xargs -n 1 -t bq rm -fですが、xargsを使用して、2で実行した結果を受け取ってコマンドを実行します。
-nオプションは必須です。
削除テーブルを一つずつrmコマンドで実行するので1を指定します。
-tはコマンドを 1 つ読み込み、実行してから終了するオプションです。

これらをパイプで結合して実行することで不要テーブルを削除することができます。
是非活用してください

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?