イクジニアブログ

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

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

先月も面白いupdateが色々出ました!引き続き4月のまとめもいってみましょう!

nii-yan.hatenablog.com

AWS/Azureのデータ取り込みが可能に

Preview

BQ omniを使って、AWSのS3/AzureのBlob のデータをクエリのみでBQに取り込みが出来るようになりました!
(事前にBQ omniの設定が必要となります)

LOAD DATA INTO `mydataset.test_csv` (Number INT64, Name STRING, Time DATE)
PARTITION BY Time
FROM FILES (format = 'CSV', uris = ['s3://test-bucket/sampled*'], skip_leading_rows=1)
WITH CONNECTION `aws-us-east-1.test-connection`

今まで、S3のデータを取り込みたい場合は

S3 -> GCS -> BQといった経路をたどらねばならず、S3からGCSへはgsutilなど、GCSからBQへは何かしらのバッチ処理などを使ってデータを移す必要がありましたが、こちらの機能を使えばクエリを打つだけでS3からBQへデータを移動することが出来ます!!

組織間でのデータの共有を安全に出来るように

Preview

AnalyticsHubを使用して組織間でのデータの共有を安心、安全に出来るようになりました。
他の会社へデータ提供する、他の会社からデータを提供してもらうなどの時に使えるかと思います。

共有単位はデータセット単位となっており、データのコピーは必要ありません。
あくまでイメージですが、共有元のテーブルのviewが共有先に作られるようなイメージを持ってもらえると想像しやすいかなと思います。(実際は違います)

vpc-scを介した共有にも対応してあり、ingress/egressの設定をすることで共有可能なようです。

テキスト検索を効率的に出来るように

Preview

SEARCH関数を使って、STRING,ARRAY,STRUCT,JSONに対する検索を効率的に出来るようになりました!!

SEARCH関数の構文は以下です

SEARCH(search_data, search_query, [json_scope=>values])

values:
  {'JSON_VALUES' | 'JSON_KEYS' | 'JSON_KEYS_AND_VALUES'}

こちら見てわかる通り、JSONに対してはJSON_KEYなどを指定して検索することもできます。
またSEARCH対象に対してindexを作ることで、高速に検索をする事も出来ます。
indexを作成した場合は、indexのデータ量分ストレージ料金もかかるので注意してください。

こちらのSEARCH関数ですが、カラムに対しての検索だけでなく、検索対象をテーブルそのものにする事も出来ます。

table1から'aa'という文字列のある行のみ表示

select * 
from 
 `hoge.moge.table1`
where 
 search(`hoge.moge.table1`, 'aa')

SEARCH関数が対応してる型からのみ検索とはなりますが、こんな文字列がどっかに入ってるか調べたい!などの時にとても便利かなと思います。

BigLakeが使用可能に

Preview

BQだけではなく、GCSやS3などの外部クラウドも合わせて統合的に権限制御、分析が可能に!

コネクションを作る事で統合的なLake環境が作れるようです。こちらまだ実際に試せてないので、試せたらどこかで記事にしたいと思っています。

管理リソースグラフを閲覧可能に

Preview -> GA

Previewとしては確認可能だった、BQの管理リソースグラフがGAになりました。
こちらを確認する事でslotの使用量を容易に確認することが出来ますので、slotの全体量が足りているかどうか、slotを多く使っている時間帯はいつなのかなど確認することが出来ます。

INFORMATION_SCHEMAでSTORAGE情報が確認出来るように

Preview

今まではBQコマンドやINFORMATION_SCHEMAのPARTITIONSビューなどを組み合わせないと取れなかった、データ容量がsnapshotで確認出来るようになりました。

レコードが追加されるタイミングとしてはテーブルに対して変化があったタイミングなるようで、どのタイミングでどの容量があったかなども後から確認することが出来ます。

また組織単位でのビューがあるので、組織単位で確認出来るようになったのも嬉しいポイントかなと思います。

タイムトラベルの期間を短くすることが可能に

Preview

BQは元々、タイムトラベルを使って7日前のデータまでは遡って確認することが出来ました。

こちら7日間固定だったのですが、こちらを2~7日の間で変更出来るようになりました。 devやwork環境など、バックアップ必要のないプロジェクトではストレージ料金の節約が可能です。

こちらの機能現在では使用するのにこちらから申し込みが必要となっています。

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