SHOW ONLINE FEATURE TABLES

アクセス権限を持つ オンライン機能テーブル をリストします。

このコマンドを使用して、セッションの現在のデータベースとスキーマ、指定したデータベースまたはスキーマ、またはアカウント全体のオブジェクトをリストします。

出力には、各オブジェクトのメタデータとプロパティが含まれます。オブジェクトは、データベース、スキーマ、オブジェクト名で辞書順にソートされます(出力列の説明については、このトピックの Output をご参照ください)。結果をフィルターする場合は、結果の行の順序に注意することが重要です。

こちらもご参照ください。

CREATE ONLINE FEATURE TABLEALTER ONLINE FEATURE TABLEDESCRIBE ONLINE FEATURE TABLEDROP ONLINE FEATURE TABLE

構文

SHOW ONLINE FEATURE TABLES [ LIKE '<pattern>' ]
                            [ IN
                               {
                                 ACCOUNT                  |
                                 DATABASE                 |
                                 DATABASE <database_name> |
                                 SCHEMA                   |
                                 SCHEMA <schema_name>     |
                                 <schema_name>
                               }
                            ]
                            [ STARTS WITH '<name_string>' ]
                            [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

パラメーター

LIKE 'pattern'

オプションで、オブジェクト名でコマンド出力をフィルタリングします。フィルターは、 SQL ワイルドカード文字(% および _)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。

たとえば、次のパターンは 同じ 結果を返します。

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. デフォルト: 値なし(フィルタリングは出力に非適用)。

[ IN ... ]

オプションで、コマンドのスコープを指定します。次のいずれかを指定します。

ACCOUNT

アカウント全体の記録を返します。

DATABASE. DATABASE db_name

現在使用中のデータベースまたは指定されたデータベース(db_name)の記録を返します。

db_name なしで DATABASE を指定し、かつデータベースが使用されていない場合、キーワードは出力に影響しません。

注釈

データベースコンテキストで IN 句を指定せずに SHOW コマンドを使用すると、予想よりも少ない結果になる可能性があります。

IN 句を使用しない場合、同じ名前のオブジェクトは一度だけ表示されます。例えば、 schema1 にテーブル t1 、そして schema2 にテーブル t1 があり、両方とも指定したデータベースコンテキストのスコープ内にある場合(つまり、選択したデータベースが schema1schema2 の親である場合)の場合、 SHOW TABLES は t1 テーブルの1つのみを表示します。

SCHEMA. SCHEMA schema_name

現在使用中のスキーマまたは指定されたスキーマ(schema_name)の記録を返します。

データベースが使用中の場合、または完全修飾 schema_name (例: db.schema) を指定する場合、 SCHEMA はオプションです。

データベースが使用されていない場合は、 SCHEMA を指定しても出力には影響しません。

IN ... を省略した場合、コマンドのスコープは、セッションで現在使用中のデータベースがあるかどうかによって異なります。

  • データベースが現在使用中の場合、コマンドはデータベースで表示する権限を持つオブジェクトを返します。これは、IN DATABASE を指定するのと同じ効果があります。

  • データベースが現在使用中の場合、コマンドはアカウントで表示する権限を持つオブジェクトを返します。これは、IN ACCOUNT を指定するのと同じ効果があります。

STARTS WITH 'name_string'

オプションで、オブジェクト名の先頭に表示される文字に基づいてコマンド出力をフィルタリングします。文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します

たとえば、次の文字列は 異なる 結果を返します。

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. デフォルト: 値なし(フィルターは出力に適用されない)

LIMIT rows [ FROM 'name_string' ]

オプションで、返される行の最大数を制限すると同時に、結果の「ページネーション」を有効にします。実際に返される行数は、指定された制限より少ない場合があります。例えば、既存のオブジェクトの数が指定された制限より少ないなどです。

オプションの FROM 'name_string' サブ句は、結果の「カーソル」として効果的に機能します。これにより、指定された文字列と一致するオブジェクト名を持つ最初の行に続く指定された行数を取得できます。

  • 文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します

  • 文字列に完全なオブジェクト名を含める必要はありません。部分的な名前がサポートされています。

デフォルト:値なし(出力に制限は適用されない)

注釈

FROM 'name_string' 句と STARTS WITH 'name_string' 句の両方をサポートする SHOW コマンドの場合、同じステートメントでこれらの両方の句を組み合わせることができます。ただし、両方の条件を満たしている必要があります。そうでない場合、互いにキャンセルされ、結果が返されません。

さらに、オブジェクトは名前の辞書式順序で返されるため、 FROM 'name_string' は、 STARTS WITH 'name_string' によって返される行よりも辞書式の値が大きい行のみを返します。

例:

  • ... STARTS WITH 'A' LIMIT ... FROM 'B' は結果を返しません。

  • ... STARTS WITH 'B' LIMIT ... FROM 'A' は結果を返しません。

  • ... STARTS WITH 'A' LIMIT ... FROM 'AB' は結果を返します(入力文字列に一致する行がある場合)。

出力

コマンドの出力には、オブジェクトのプロパティとメタデータを説明する以下の列が含まれます。

説明

created_on

オンライン機能テーブルの作成時刻。

name

オンライン機能テーブルの名前。

database_name

オンライン機能テーブルが存在するデータベース。

schema_name

オンライン機能テーブルが存在するスキーマ。

rows

ストレージ内の行数。

bytes

クエリでオンライン機能テーブル全体がスキャンされる場合にスキャンされるバイト数。

この数は、テーブルの実際の物理バイト数とは異なる場合があることに注意してください。

owner

オンライン機能テーブルを所有するロール。

source

オンライン機能テーブルデータのソースの名前。

target_lag

オンライン機能テーブルのコンテンツがリアルタイムから遅れる最大時間。

warehouse

オンライン機能テーブルのリフレッシュに使用されるウェアハウス。

timestamp_column

オンライン機能テーブルの作成時に指定されたタイムスタンプ列。

refresh_mode

テーブルがソースからデータを増分的にリフレッシュする場合は INCREMENTAL、リフレッシュのたびに完全なデータソースをインジェストする場合は FULL

refresh_mode_reason

リフレッシュモードが選択された理由の説明。INCREMENTAL がサポートされてている状況で、Snowflakeが FULL を選択した場合、出力にはフルリフレッシュの方がパフォーマンスに優れていると考えられる理由が示されています。関連情報がない場合は NULL が返されます。

scheduling_state

リフレッシュをアクティブにスケジューリングしているオンライン機能テーブルの場合は RUNNING と表示され、一時停止されているオンライン機能テーブルの場合は SUSPENDED と表示されます。

comment

オンライン機能テーブルのコメント。

注釈

データが頻繁に変更される場合、rows 列および bytes 列の数値は正確でない可能性があります。正確な行数を取得するには、テーブルに対して SELECT COUNT(*) クエリを実行します。

アクセス制御の要件

権限

オブジェクト

メモ

USAGE

スキーマ

スキーマに対して USAGE 権限を持つロール。

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

使用上の注意

  • このコマンドの実行には、稼働中のウェアハウスは必要ありません。

  • このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。

  • MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。

  • このコマンドの出力を後処理するには、 パイプ演算子->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。

    このコマンドの出力列名は小文字で生成されます。パイプ演算子または でこのコマンドの結果セットを消費する場合 RESULT_SCAN 関数の場合は、を使用します 二重引用符で囲まれた識別子 クエリの列名に を使用し、スキャンされた出力の列名と一致するようにします。たとえば、出力列の名前が次の場合 type``次に を指定します ``"type" 識別子用。

  • コマンドは、コマンドを実行するために使用されるロールのアクセス権限によって決定された通り、指定されたオブジェクトタイプに対して 最大 1万件の記録を返します。1万件を超える記録は、フィルターを適用しても返されません。

    1万件を超える記録が存在する結果を表示するには、 Snowflake Information Schema で対応するビュー(存在する場合)をクエリします。

  • スキーマレベルのオブジェクトに対して コマンドを実行すると、現在のロールが親データベースとスキーマに対しても少なくとも1つの権限を持っている場合にのみオブジェクトが返されます。

次の例は、mydb データベースの PUBLIC スキーマで、表示権限を持っているオンライン機能テーブルをリストします。

USE DATABASE mydb;

SHOW ONLINE FEATURE TABLES;
Copy

次の例は、feature_ で始まる現在のアカウントのすべてのオンライン機能テーブルを一覧表示しています。

SHOW ONLINE FEATURE TABLES STARTS WITH 'feature_' IN ACCOUNT;
Copy

次の例では、%test% 内の analytics スキーマパターンに一致する名前のオンライン機能テーブルをリストしています。

SHOW ONLINE FEATURE TABLES LIKE '%test%' IN SCHEMA analytics;
Copy