2023年7月にリリースされたSnowflakeの新機能・変更点まとめ #SnowflakeDB
さがらです。
2023年7月にリリースされたSnowflakeの新機能と変更点についてのまとめ記事となります。
※注意事項:本記事ではすべての情報についての記述はせず、特筆すべきだと感じた情報だけピックしております。基本的には以下の情報を参考にしておりますので、全ての最新情報を確認したい場合は下記のURLからご確認ください。
What's New
Snowpipe Streamingが一般提供
Snowpipe Streamingが一般提供となりました!
従来のSnowpipe + Kafka Connectorの組み合わせと比較したときに、Snowpipe Streaming + Kafka Connectorならばデータを内部ステージにステージングすることなく、直接Snowflakeのテーブルにロードできます。
公式ドキュメントもぜひ併せてご覧ください。
Snowpipe Streamingを使用したKafka Connectorにおいて、Schema DetectionとSchema Evolutionに対応 ※パブリックプレビュー
ロードされるデータの中身からスキーマ構成を自動で読み取ってくれる「Schema Detection」と、ロード処理が行われた際に対象テーブルのスキーマ定義と異なる場合には自動で列の追加を行ってくれる「Schema Evolution」が、Snowpipe Streamingを使用したKafka Connectorにおいて使えるようになりました。※パブリックプレビュー
※この機能を有効化するには、バンドル「2023_05」を有効にする必要があるためご注意ください。
ORGANIZATION_USAGEにQUERY_ACCELERATION_HISTORYビューが追加
Organization全体でQuery Acceleration Serviceによって高速化されたクエリを確認できるQUERY_ACCELERATION_HISTORYが使用できるようになりました。
Query Acceleration Serviceは私も一度試しているため、ぜひこちらも見て頂けると嬉しいです。
Snowflakeサポートに連絡せずともクエリでORGADMINロールを有効化できるように ※パブリックプレビュー
ALTER ACCOUNT … SET IS_ORG_ADMIN
の構文でクエリを実行することで、Snowflakeサポートに連絡せずともユーザー側でORGADMINロールを有効化できるようになりました。
デフォルトでは、ORGADMINロールは最大8つのアカウントで有効化できるようです。
Organization内のアカウントをユーザー側で削除できるように ※パブリックプレビュー
ORGADMINロールにより、Organization内のアカウントをユーザー側で削除できるようになりました。
具体的には、DROP ACCOUNT
というコマンドを使用するようで、下記のようにGRACE_PERIOD_IN_DAYS
というオプションを使うと、指定した期間の間ならばUNDROP
コマンドでアカウントの復元もできるようです。
DROP ACCOUNT my_account GRACE_PERIOD_IN_DAYS = 14;
Search Optimization Serviceが半構造化データの部分文字列検索をサポート ※パブリックプレビュー
Search Optimization Serviceが半構造化データの部分文字列検索をサポートするようになりました。 ※パブリックプレビュー
具体的には、下記のようなコマンドを実行すれば有効化できます。
ALTER TABLE mytable ADD SEARCH OPTIMIZATION ON SUBSTRING(semi_structured_column);
GROUP BY句でALLを指定可能に
Snowflakeでクエリを書く際、GROUP BY句でALLを指定可能になりました!
これまでのクエリの書き方だと、GROUP BY句では具体的にカラム名かSELECT句での順番を数値で入れる必要がありましたが、Snowflakeならばその必要がなくなります!
具体的には、下記のようにGROUP BY句の中に複数のカラム名を記述する必要がなくなります。
- これまでのクエリ
SELECT state, city, SUM(retail_price * quantity) AS gross_revenue FROM sales GROUP BY state, city;
- GROUP BY ALLを使用した場合
SELECT state, city, SUM(retail_price * quantity) AS gross_revenue FROM sales GROUP BY ALL;
また、一部のカラムを集約に使いたくない場合は、SELECT * EXCLUDE
を使うことで除外することもできます。詳細は下記の記事をご覧ください。
Behavior Change Log
Behavior Change Logの今後の情報提供場所について
Behavior Change Logについては、2023年7月26日以降、下記のドキュメントで公開されていくとのことです。
おまけ:Modern Data Stack全般の最新情報
Snowflakeも含め、個人的に気になったModern Data Stack全般の最新情報についても、定期的にブログにまとめて投稿しております!こちらもぜひご覧ください。