2021年6月

今月は、次の新機能、動作の変更、および更新(拡張、修正など)が導入されています。これらの追加について質問がある場合は、 Snowflakeサポート にお問い合わせください。

重要

各リリースには、ウェブインターフェイスをリフレッシュする必要のある更新が含まれる場合があります。

一般的な方法として、これらの更新が使用に影響を与えないようにするために、Snowflakeの各リリースが展開された後にウェブインターフェイスを更新することをお勧めします。

このトピックの内容:

新機能

Snowpark --- プレビュー

このリリースでは、Amazon Web Services(AWS)でのSnowparkのプレビューを発表します。Snowparkは、データのクエリと処理のための直感的な API を提供する新しい開発者エクスペリエンスです。Snowparkは、複雑なデータパイプラインを構築するプロセスを簡素化し、アプリケーションコードが実行されるシステムにデータを移動することなく、Snowflakeと直接対話できるようにします。

Snowparkには、他のクライアントライブラリとの差別化をもたらすいくつかの機能があります。

  • Snowpark API は、 SQL ステートメントを構築するためのプログラミング言語構造を提供します。たとえば、 'select column_name' を文字列として記述する代わりに、 select メソッドを使用して返す列名を指定できます。文字列を使用して実行する SQL ステートメントを指定することもできますが、Snowparkが提供するプログラミング言語構造を使用すると、 インテリジェントコード補完 や型チェックなどの機能を利用できます。

  • Snowparkの操作はサーバー上で遅延実行されるため、クライアントとSnowflakeデータベース間で転送されるデータの量が削減されます。Snowparkのコア抽象化は DataFrame です。これはデータのセットを表し、そのデータを操作するためのメソッドを提供します。クライアントコードでは、 DataFrame オブジェクトを構築し、使用するデータを指定します(たとえば、データを含む列、行に適用するフィルターなど)。DataFrame オブジェクトを作成するときには、データは取得されません。代わりに、データを取得する準備ができたら、 DataFrame オブジェクトを評価し、対応する SQL ステートメントをSnowflakeデータベースに送信して実行するアクションを実行できます。

  • コード内にユーザー定義関数(UDFs)を作成でき、Snowparkはコードをサーバーにプッシュできます。サーバーでは、コードがデータを操作できます。クライアントコードの記述に使用するのと同じ言語で関数を記述できます(たとえば、Scalaで無名関数を使用することにより)。これらの関数を使用してSnowflakeデータベースのデータを処理するには、カスタムコードでユーザー定義関数(UDFs)を定義して呼び出します。Snowparkは、 UDFs のカスタムコードをSnowflakeデータベースに自動的にプッシュします。クライアントコードで UDF を呼び出すと、カスタムコードがサーバー(データのある場所)で実行されます。データに対して関数を実行するために、データをクライアントに転送する必要はありません。

このプレビューでは、 AWS でホストされているSnowflakeアカウントで使用するScalaプログラミング言語でSnowparkを使用できます。

プレビュー機能は、評価およびテストを目的としたものであり、実稼働環境での使用は推奨されていません。

詳細については、 Snowpark API をご参照ください。

Java UDFs --- プレビュー

Snowflakeは、このリリースで、 AWS でのJava UDFs (ユーザー定義の関数)のプレビューを発表します。

ユーザーは、Javaプログラミング言語でカスタム関数を記述し、それらを組み込み関数であるかのように呼び出すことができるようになりました。ユーザーは、ステージで参照するためにJavaソースコードをインラインで提供するか、ライブラリなどの JAR ファイルを持ち込むことができます。

このプレビューでは、Java UDFs は、 AWS でホストされているSnowflakeアカウントでのみ使用できます。

プレビュー機能は、評価およびテストを目的としたものであり、実稼働環境での使用は推奨されていません。

詳細については、 Java UDFs の紹介 をご参照ください。

地理空間データのサポート --- 一般提供

2020年6月にプレビューとして導入された地理空間データのロードと分析のサポートが、一般提供(GA)されるようになったことをお知らせします。このサポートは、地球表面の地理空間オブジェクトを表す新しいデータ型 GEOGRAPHY を介して実装されます。

地理空間データは、 WKT、 WKB、 GeoJSON などの標準形式でロードおよびエクスポートできます。

機能の GA により、地理空間オブジェクト間の関係を構築、フォーマット、測定、および計算するための関数群が提供されます。

また、機能の GA により、地理空間結合を使用するクエリのパフォーマンスも向上します。地理空間結合は、結合述語で地理空間関数を使用する結合です。次の関数を使用する結合のパフォーマンスが向上しました。

詳細については、 地理空間データ型 をご参照ください。

Snowflake SQL API --- プレビュー

Snowflakeデータベースのデータにアクセスして更新するために使用できる REST API、Snowflake SQL API のプレビューをお知らせします。

この API を使用して、次のようなカスタムアプリケーションと統合を開発できます。

  • 単純な/標準のクエリを実行するだけでなく、ほとんどの DDL および DML ステートメントを実行します。

  • 展開を管理します(例: ユーザーとロールのプロビジョニング、テーブルの作成)。

Snowflake SQL API は、次のようなさまざまな操作をサポートしています。

  • 同期または非同期で実行するための SQL ステートメントの送信。

  • 非同期ステートメントの実行状況の確認。

  • ステートメントの実行のキャンセル。

詳細については、 Snowflake SQL REST API をご参照ください。

データのロード: ステージングされたファイルの列定義の検出 --- プレビュー

半構造化データを含むクラウドストレージ内の一連のファイルから、 列定義を取得 するためのプレビューサポートをお知らせします。列の定義には、ファイル内にある列の名前とデータ型が含まれます。列定義を使用して、データをクエリするための標準のランディングテーブルまたは外部テーブルの作成を簡素化します。

注釈

この機能は現在、Apache Parquet、Apache Avro、および ORC ファイルに限定されています。

このサポートは、新しい SQL 関数のペアと新しい CREATE TABLE ... USING TEMPLATE 句によって実装されます。

プレビュー機能は、評価およびテストを目的としたものであり、実稼働環境での使用は推奨されていません。

新しい SQL 関数

関数カテゴリ

新しい関数

説明

テーブル

INFER_SCHEMA

ステージングされたデータファイルのセットで列定義を検出し、Snowflakeオブジェクトの作成に適した形式でメタデータを取得します。

ユーティリティとハッシュ

GENERATE_COLUMN_DESCRIPTION

INFER_SCHEMA 関数の出力を使用して、ステージングされたファイルのセットから列のリストを生成します。

SQL 関数は、内部ステージと外部ステージの両方をサポートします。

CREATE TABLE コマンド: 新しい USING TEMPLATE 句

新しい CREATE TABLE ... USING TEMPLATE 句により、ユーザーはステージングされたファイルのセットから派生した列定義を使用して、新しいテーブルを作成できます。この句は、 INFER_SCHEMA SQL 関数を呼び出してファイル内の列定義を検出する式を受け入れます。

Snowflake Data Marketplace --- 一般提供

Snowflake Data Marketplaceの一般提供の開始をお知らせします。これにより、さまざまな業界のお客様が、Data Cloud内のより多くのデータにアクセスして、豊富なデータインサイトを得ることができるようになります。

Snowflake Data Marketplaceは、あらゆる規模のあらゆる業界の組織が、地理的およびサポートされているパブリッククラウド全体でデータにシームレスにアクセスするのに役立ちます。

企業は、ほぼリアルタイムのデータを使用して顧客体験をパーソナライズし、商品レベルと店舗レベルの詳細なPOSデータを CPG の企業と共有しています。ヘルスケア企業は、データインサイトを使用して、患者ケアの品質を改善し、商業的市場投入の有効性を最適化しています。メディアおよび広告会社は、広告収益を加速し、マーケティング支出を最適化しています。これらすべては、Snowflake Data Marketplaceの使用により実現されたものです。

詳細については、 Snowflake Marketplace およびリスト をご参照ください。

新しいウェブインターフェイス: Snowsightワークシートの新しい管理ページ、クエリ履歴、オブジェクトブラウザー --- プレビュー

従来のウェブインターフェイスとのギャップを埋める、新しいウェブインターフェイスの管理ページのプレビュー導入をお知らせします。ナビゲーションでは、新しいページが次のように編成されています。

ページ名

ナビゲーション

利用可能なアクション

Partner Connect

ユーザー名の横にあるドロップダウンメニュー » Partner Connect

Partner Connectに参加する任意のSnowflakeパートナーで試用アカウントを開始します。

Warehouses

Compute » Warehouses

  • ウェアハウスを作成、変更、およびドロップします。

  • 既存のウェアハウスの詳細を表示します。

  • ウェアハウスに対する権限を付与したり取り消したりします。

  • 個々のウェアハウスを手動で中断または再開します。

Resource Monitors

Compute » Resource Monitors

注意: これは既存のページですが、インターフェイスナビゲーションに新しい場所があります。

Roles

Account » Roles

グラフビューまたはテーブルビューで、アカウントのロールを調べます。

  • Graph view: ロール階層のグラフィック表現を表示します。ユーザーは、階層内の特定のロールより上位のロール(つまり、 祖先 )、ロールより下位のロール(つまり、 子孫 )、またはその両方を表示できます。ユーザーは、階層内の単一のロールにフォーカスを制限することもできます。

  • Table view: 個々のロールの詳細を表示します。

さらに、管理者は、ユーザーにロールを付与したり、既存のロール階層に作成または追加することができるロールを他のロールに付与したりできます。

Users

Account » Users

  • ユーザーを作成、変更、およびドロップします。

  • 既存のユーザーの詳細を表示します。

  • ユーザーに対する権限を付与したり取り消したりします。

  • ユーザーにロールを付与します。

Usage

Account » Usage

アカウントごとに、Snowflakeコンピューティングリソース(つまり、仮想ウェアハウス)、データストレージ、およびクラウドサービスの月次使用量を表示します。

コンピューティングリソースとクラウドサービスの月次データストレージコストとクレジット使用状況を表示します。

Security

Account » Security

  • アカウント内のすべてのネットワークポリシーを表示します。

  • ネットワークポリシーを作成、アクティブ化、変更、およびドロップします。

  • アカウントで現在開かれているすべてのユーザーセッションを表示します。

Billing

Account » Billing

アカウントの請求情報を表示および管理します。

Organization

Organization

  • 組織内のアカウントのリストを表示します。

  • Snowflakeからの通知を受け取るメールアドレスを指定します。

新しい管理ページに加えて、 Query History が新しいウェブインターフェイスで利用できるようになりました。

ページ名

ナビゲーション

説明

Query History

Compute » Query History

または

結果のSnowsightワークシート » Query Details ペイン。

  • 過去14日間に実行されたクエリの詳細を分析します。

  • 選択したクエリの処理プランの主要コンポーネントをグラフィカルに表示するツールである、クエリプロファイルを使用して、クエリの仕組みを理解します。

最後になりましたが、Snowsightワークシートで、インタラクティブなオブジェクトブラウザーが表示されるようになったことをお知らせします。このブラウザーには、選択したロールがアクセスできるすべてのデータベース(および各データベース内のオブジェクト)のリストが表示されます。ユーザーは、オブジェクトをツリー構造でナビゲートしたり、名前で検索したりできます。ユーザーは任意のテーブルまたはビューのデータプレビューを取得し、テーブルまたはビューの完全修飾オブジェクト名をクエリエディターに挿入できます。オブジェクトブラウザーは、Snowsightワークシートの以前のスキーマブラウザーを置き換えます。

新しいウェブインターフェイスは現在まだプレビュー中です。プレビュー機能は、評価およびテストを目的としたものであり、実稼働環境での使用は推奨されていません。

新しいリージョン

Azureの中部 US (アイオワ)

Microsoft Azureで、次の新しいリージョンがただちに利用可能になったことをお知らせいたします。

中部 US (アイオワ)

このリージョンにより、Snowflakeは、サポートされている3つのクラウドプラットフォーム(AWS、Google Cloud Platform、Azure)すべてにおいて、北米(US とカナダ)で11の地理的場所を提供するようになりました。

このリージョンはすべてのSnowflakeエディションをサポートしており、アカウントは、セルフサービスまたはSnowflakeの担当者を通してリージョンにプロビジョンできます。

セキュリティの更新

SCIM: Azureおよびカスタム SCIM 統合に対するdefaultRoleおよびdefaultWarehouseの設定のサポート

このリリースでは、新しい名前空間が追加され、Microsoft Azure SCIM 統合において、Snowflakeでユーザーの defaultRole および defaultWarehouse ユーザープロパティを設定できるようになりました。新しい名前空間は urn:ietf:params:scim:schemas:extension:2.0:User です。この名前空間は、カスタム SCIM 統合のために使用して、 defaultRole および defaultWarehouse ユーザープロパティを設定することもできます。

既存の名前空間 urn:ietf:params:scim:schemas:extension:enterprise:2.0:User はAzureでサポートされておらず、 defaultRole または defaultWarehouse のユーザープロパティを設定するために使用できないことに注意してください。

詳細については、 SCIM を使用したユーザーとグループの管理 をご参照ください。

外部 OAuth: 複数の OAuth クレームのマッピングをサポート

このリリースでは、外部の OAuth セキュリティ統合の EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM プロパティで単一のクレームではなく、クレームのリストを指定するためのサポートが追加されています。クレームのリストを使用すると、異なるクライアントアプリケーションが OAuth トークンで異なるクレーム(例: upn、sub、name)を使用してユーザーを表すことができ、同じ OAuth サーバーは、Snowflake内の単一のセキュリティ統合を使用して構成されたSnowflakeに対して、 OAuth トークンを発行します。この変更は、単一のクレームを使用してユーザーをマップする既存の統合には影響しません。

このプロパティは、 CREATE SECURITY INTEGRATION または ALTER SECURITY INTEGRATION コマンドを使用して指定できます。

アクセス制御: アカウントレベルでネットワークポリシーをアクティブ化するための新しい権限

このリリースでは、新しいグローバルアクセス制御権限 ATTACH POLICY が導入されています。これにより、ロールはネットワークポリシーをアカウントに関連付けることで、ネットワークポリシーをアクティブ化できます。以前は、セキュリティ管理者(つまり、 SECURITYADMIN ロールを持つユーザー)、またはそれ以上の権限を持つロールのみが、アカウントレベルでネットワークポリシーをアクティブ化できました。

SQL の更新

TASK_HISTORY ビュー(Account Usage): 実行前にキャンセルされた、スケジュールされたタスク実行

このリリースでは、実行状態に移行する前にキャンセルされる SNOWFLAKE データベースのスケジュールされたタスク実行にある、 ACCOUNT_USAGE スキーマの TASK_HISTORY ビューに次の変更が導入されました。

以前

ビューは、これらのタスク実行の記録を返しました。

現在

ビューは、これらのタスク実行の記録を返しません。

この変更によりビューは、Information Schemaの TASK_HISTORY テーブル関数の動作に合わせられます。

CREATE SECURITY INTEGRATION および ALTER SECURITY INTEGRATION: EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM プロパティでクレームのリストを許可

このリリースでは、 CREATE SECURITY INTEGRATION および ALTER SECURITY INTEGRATION コマンドが次のように更新されます。

プロパティ

説明

EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM

アクセストークンをSnowflakeユーザー記録にマップするために使用する、アクセストークンクレーム(複数可)を指定します。

クレームのデータ型は、文字列または文字列のリストである必要があります。

新しい SQL 関数: OBJECT_CONSTRUCT_KEEP_NULL()

このリリースでは、 OBJECT_CONSTRUCT_KEEP_NULL() 関数のサポートが追加されています。この関数は、引数(キー/値ペア)からSnowflake OBJECT を作成する OBJECT_CONSTRUCT() 関数と同じように動作しますが、 OBJECT_CONSTRUCT_KEEP_NULL() には値が NULL のペアが含まれる点が異なります。

エコシステムの更新

Go Snowflakeドライバー: バルク配列バインドのサポート

Go Snowflakeドライバーは、バルク配列バインドをサポートするようになりました。これにより、Golangクライアントから大量のデータをロードする際のパフォーマンスを向上させることができます。詳細については、 Go Snowflakeドライバーのドキュメント にあるトピック、「配列変数へのパラメーターのバインド」および「バッチ挿入とバインドのパラメーター」をご参照ください。

Python用Snowflakeコネクタ2.4.6: クエリを実行せずに結果セットのメタデータを取得するためのサポート

Python用Snowflakeコネクタのバージョン2.4.6により、クエリを実行せずに結果セットの列に関するメタデータを取得するためのサポートが追加されます。

実行するには、新しい Cursor.describe メソッドを呼び出し、 SQL ステートメントを渡します。このメソッドは、クエリを実行しなくても、 Cursor.description 属性によって提供されるものと同じメタデータを返します。

さらに、 Cursor.descriptionResultMetadata オブジェクトのリストに設定されるようになりました。これは、これらのオブジェクトの属性に名前でアクセスできることを意味します(例: col.type_code)。 ResultMetadata オブジェクトは NamedTuples であるため、引き続きインデックス(例: col[1])で値にアクセスできます。

詳細については、 列のメタデータの取得 をご参照ください。

ORGANIZATION_USAGE の更新

ビューの更新された名前

このリリースには、 SNOWFLAKE データベースの ORGANIZATION_USAGE スキーマにある、次のビューの更新された名前が含まれています。ビューは以前はプレビューでしたが、現在は一般提供されています。

プレビュー名

現在の名前

PREVIEW_METERING_DAILY_HISTORY

METERING_DAILY_HISTORY

PREVIEW_DATA_TRANSFER_HISTORY

DATA_TRANSFER_HISTORY

PREVIEW_STORAGE_DAILY_HISTORY

STORAGE_DAILY_HISTORY

PREVIEW_WAREHOUSE_METERING_HISTORY

WAREHOUSE_METERING_HISTORY

新しい WAREHOUSE_EVENTS_HISTORY ビュー

このリリースでは、 SNOWFLAKE データベースの ACCOUNT_USAGE スキーマに WAREHOUSE_EVENTS_HISTORY ビューが導入されています。

仮想ウェアハウスの更新

大規模なウェアハウス --- プレビュー

このリリースでは、5X-LARGE と6X-LARGE の2つの大きなウェアハウスサイズが追加されたことをお知らせします。それぞれが、それより1つ小さいサイズの計算リソースの約2倍です。大規模なウェアハウスにより、計算集約型のワークロードのパフォーマンスを向上させ、大規模なデータセットの処理を高速化できます。

このプレビュー機能は現在、 AWS でのみ使用できます(Azureのサポートは近日予定)。新しいサイズのプロビジョニング時間は、プレビュー段階では少し長くかかる場合があります。

詳細については、 ウェアハウスの概要 をご参照ください。

データのロード/アンロードの更新

半構造化データ: ロード時の NULL_IF および TRIM_SPACE ファイル形式オプションのサポート --- 一般公開

このリリースでは、半構造化データからリレーショナルテーブルの個別の列に値をロードする際の、 NULL_IF および TRIM_SPACE ファイル形式オプションのサポートが一般提供されることをお知らせします。

このサポートは、次のデータ形式で実装されています。

  • JSON

  • Avro

  • ORC

  • Parquet

JSON データ: バイナリ、日付、時刻、およびタイムスタンプ列へのロードのサポート--- 一般公開

このリリースでは、 JSON データをリレーショナルテーブルの個別のバイナリ、日付、およびタイムスタンプの列にロードするためのサポートが一般提供されることをお知らせします。

このサポートは、 JSON データの次のファイル形式オプションを介して実装されます。

  • BINARY_FORMAT

  • DATE_FORMAT

  • TIME_FORMAT

  • TIMESTAMP_FORMAT

JSON データ: ロード時における無効な UTF-8文字の置換のサポート --- 一般公開

このリリースでは、 JSON データの読み込み時に REPLACE_INVALID_CHARACTERS ファイル形式オプションを設定するためのサポートが一般提供されることをお知らせします。

新しいアカウントパラメーターにより、内部ステージへのデータアンロードを防止

デフォルトでは、ユーザーは COPY INTO <場所> ステートメントを使用して、Snowflakeテーブルデータを内部(Snowflake)ステージにアンロードできます。このアクションには、各内部ステージ型の制限のみが適用されます。

  • ユーザーは、自分に割り当てられたユーザーステージにのみデータをアンロードできます。

  • テーブルの所有者(つまり、テーブルに対する OWNERSHIP 権限を持つロール)のみが、データをテーブルステージにアンロードできます。

  • 十分な権限を持つロールは、名前付きの内部ステージにデータをアンロードできます。

このリリースにより、アカウント管理者(つまり、ACCOUNTADMIN ロールを持つユーザー)は、ユーザーステージ、テーブルステージ、または名前付きの内部ステージを含む、 いずれの 内部ステージへのデータアンロード操作も防止できます。

この制限は、新しい PREVENT_UNLOAD_TO_INTERNAL_STAGES アカウントパラメーターを使用してアカウントレベルで設定されます。デフォルト値は FALSE です。アカウント管理者は、値を TRUE(ALTER ACCOUNT を使用)に設定して、ユーザーが、内部ステージを参照する COPY INTO <場所> ステートメントを実行できないようにすることができます。このパラメーターは、十分な権限を持つユーザーが、テーブルデータを外部(つまり、Amazon S3、Google Cloud Storage、またはMicrosoft Azure)ステージにアンロードすることは防止しないことに注意してください。

ドキュメントおよび学習リソース

拡張/統合された、開発者ドキュメント

Snowflakeドキュメントの使いやすさと構成を継続的に改善する取り組みの一環として、ドキュメントの開発者セクションを拡大しています。

アプリケーションと拡張機能の開発 には、次を使用するためのリソースへのリンクが含まれるようになりました。

  • コネクタ、ドライバー、およびクライアント APIs。

  • Snowflakeを拡張する機能(例: ユーザー定義関数や外部関数)。

さらに、次のトピックを 一般的な参照情報 から Snowflakeでのアプリケーションの開発 に移動しました。

また、新しいトピック API 参照情報 を追加しました。これは、Snowflake APIs のドキュメントリソースすべてへのリンクを提供します。