0
0

More than 3 years have passed since last update.

魅惑のbqコマンド&shell

Last updated at Posted at 2021-06-26

魅惑のbqコマンド

GCP環境をCLIで操る魅惑のコマンド

GCPをCLIで操る魅惑のshellやBQコマンドは、GUIでいわれる痒いところまで手が届かないという言葉が嘘のように届かせることが可能となります。

使用できる詳細を記したhelpコード

BQコマンド
 $ bq --help

使用コきるコードはこちらを参照すれば取得可能。
GCSのCSVデータやJSONデータを他プロジェクトに移送させたりローカルにデータをダウンロードする方法ことも可能である。

そもそもGCSにアクセスする方法とは

接頭辞に「gsutil」をつけてアクセスする

BQコマンド
$ gsutil help

よく使う目的別のbqコマンドとshell

◼︎sqlファイルを実行する方法

shell
$ bq query --use_legacy_sql=false -- format json < ./同ディレクトリ内のSQLファイル.sql | jq -r

sqlファイルをjsonファイルとして出力させてjqコマンドで整形して出力させている内容。
なお途中で表示が切れている場合は「--use_legacy_sql=false」の前に「--n 2000」と入力させると2000行までは表示される。
表示範囲を拡張させてやる必要あり。

◼︎ディレクトリを削除したい

shell
$ rm -r -d ディレクトリ名

ディレクトリ内にファイルを作成した場合に全て削除してからディレクトリを削除しなくて良い方法が、こちらのコマンド

◼︎特定ファイル直下まで表示させる方法

shell
$ ls -ltR ./指定ファイル

指定ファイル直下のファイル内容などを一括表示させることが可能

◼︎JSONファイルをCSV形式で表示させたい

shell
$ cat ./jsonファイル | jq -r ',[] | [.column_name, .description] | @csv'

ディレクトリを指定したJSONファイルwp表示する項目を設定してcsv形式で表示。jqコマンドで読みやすいように整形も実施。

◼︎テーブルをJSONファイルの内容をもとにアップデートする方法

shell
$ bq update データセット.テーブル名 ./変更したい内容を記載したJSONファイル

JSONファイルに変更したい内容を記載した場合、JSONファイルをもとにテーブルに直接変更することが可能となる。

0
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
0
0