以下の内容はhttps://nakano-tomofumi.hatenablog.com/entry/2017/06/20/163832より取得しました。


BigQuery でテーブルを正規表現を指定して削除する

背景

BigQuery で特定のテーブルをワイルドカードで指定して削除したいことがある。ところが、CLIコマンドである bq はそのようなワイルドカード指定はできない。

データセットのファイル一覧を出して、それを egrep で抽出する

下記の <dataset_name> と、<regular expression> にそれぞれ、データセット名と正規表現を書く。

bq --format json ls -n 10000 <dataset_name> | jq -r 'map("<dataset_name>."+ .tableReference.tableId)|.[]' | egrep '<regular expression>' | xargs -L1 bq rm -f

ただし、本当に望ましいファイルが対象となっているかを最後の削除を除いたコマンドである、

bq --format json ls -n 10000 <dataset_name> | jq -r 'map("<dataset_name>."+ .tableReference.tableId)|.[]' | egrep '<regular expression>' 

で一旦確認したり、ファイル数を少なくして実行してみることをおすすめする。

追記

  • 2018-06-12 .tableId で取得できなくなっていたので、.tableReference.tableId に修正



以上の内容はhttps://nakano-tomofumi.hatenablog.com/entry/2017/06/20/163832より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14