イクジニアブログ

育児 + エンジニア = イクジニア

BigQuery 2022/6月のupdate情報まとめ

6月のリリースは去年に続き多めでしたね。 それでは行ってみましょう!

BQ OmniがReservationとDCLのクエリに対応

Preview

最近毎月のようにOmniのUpdateが来ますね。力を入れているんだなということがわかります。
今回reservationの設定とGRANT文など権限設定(DCL)のクエリに対応しました。
多くの設定がSQLで出来るようになってきています。

タグによって権限管理が可能に

Preview

ResourceManagerタグをdatasetに付けられるようになりました。
このタグはIAM Conditionsで指定することができ、タグの付いているdatasetのみ閲覧可能といった制御が出来るようになりました。

BQのアクセス制限方法は、プロジェクトのIAMで制御、datasetの共有で制御、DataCatalogのポリシータグで制御、vpc-scで制御・・・等さまざな場所で制御出来ます。どこで制御されているのかわかるようにIaCで管理したいですね!

クエリの変換機能が使えるように

GA

他のDWH(Teradataなど)からの移行用にクエリの変換機能がGAとなりました。 コンソール上でインタラクティブに変換も出来ますし、まとめてバッチ処理での変換も出来ます。

現在選べるソース言語は以下

SQL変換を有効にすると以下のようにインタラクティブに変換してくれます

また、バッチ処理に関してはオブジェクト名のマッピング(ソースシステムにオブジェクト schema1.table1 があり、BigQuery でこのオブジェクトに project1.dataset1.table1 という名前を付ける)も出来るようになりました。(マッピングPreview)

project_idをシステム変数で設定可能に

GA

新しいシステム変数として@@dataset_project_idが追加されました。

こちらでproject_idを指定しておくとクエリを書く際にproject_idの記載がいらなくなります。 本番環境と開発環境でプロジェクトは違うが同じクエリにしたい時などに使えるかなと思います。

コンソールからvpc-scの設定を行いBQ omniの境界作成可能に

GA

コンソールからVpcServiceControlsの設定を行いBQ omniから外部クラウドへのアクセス制限が出来ようになりました。
特定のS3からしか読み込まない、特定のS3にしか書き込まないなどといった設定が可能です。

クエリの結果をデータポータルで可視化可能に

GA

クエリ結果画面からワンクリックで可視化が可能になりました。 (前から出来た気がするので、PreviewがGAになったのだと思います)

確定的な暗号化関数が使えるように

GA

確定的な暗号化関数を使用して、CloudKMS鍵を使用したSQLの列レベルの暗号化が行えます。
元データが同じであれば暗号化された後の値も同じとなるため、集計が可能です。
データを安全にしつつ、分析可能にすることが出来ます。

クエリキューが使えるように

Preview

現状だと同時実行数の上限を超えたクエリはエラーとなりますが、上限を超えたクエリをエラーとせずキューに入れることが可能に (プレビューに登録するには申し込みが必要)

クエリ上限を超えてエラーになる(現状)

クエリキューを有効にすると上限を超えたクエリはキューに入るようになる

クエリ上限(default 100)をよく超えてしまうことがある場合には有効であるかなと思います。

BI Engineの対象テーブルを指定可能に

Preview

BI Engineで高速化の対象となるテーブルは今まで動的に決まっていましたが、どのテーブルを高速化するか明示的に決めることが出来るようになりました。

tables.get() APIでviewフィールドが指定可能に

viewフィールドを指定することで、APIでどの情報を返してもらうかの指定が可能に。 viewフィールドで指定できるvalueは以下の4つ

  • TABLE_METADATA_VIEW_UNSPECIFIED

  • BASIC

  • STORAGE_STATS

  • FULL

6月の更新は以上となります!また来月!!!