削除コマンド
データセット単位で一括削除するコマンド
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 つ読み込み、実行してから終了するオプションです。
これらをパイプで結合して実行することで不要テーブルを削除することができます。
是非活用してください