CREATE ONLINE FEATURE TABLE¶
現在または指定のスキーマに新しいオンライン特徴量テーブルを作成するか、既存のテーブルを置き換えます。
- こちらもご参照ください。
ALTER ONLINE FEATURE TABLE、 DESCRIBE ONLINE FEATURE TABLE、 DROP ONLINE FEATURE TABLE、 SHOW ONLINE FEATURE TABLES
構文¶
CREATE [ OR REPLACE ] ONLINE FEATURE TABLE <name>
PRIMARY KEY ( <col_name> [ , <col_name> , ... ] )
TARGET_LAG = '<num> { seconds | minutes | hours | days }'
WAREHOUSE = <warehouse_name>
[ REFRESH_MODE = { AUTO | FULL | INCREMENTAL } ]
[ TIMESTAMP_COLUMN = <col_name> ]
[ [ WITH ] COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
FROM <source>
必須パラメーター¶
nameテーブルの識別子(つまり、名前)を指定する文字列。オンライン特徴量テーブルが作成されるスキーマに対して一意である必要があります。
PRIMARY KEY ( col_name [ , col_name , ... ] )テーブルに必要な主キー制約を指定します。主キーは、テーブル内にあるすべての行の一意の識別子として機能し、高速の SELECT クエリのルックアップキーとして機能します。
TARGET_LAG = 'num { seconds | minutes | hours | days }'オンライン特徴量テーブルのコンテンツがソースの更新から遅れる最大時間を指定します。
10秒以上8日以下である必要があります。
WAREHOUSE = warehouse_nameオンライン特徴量テーブルを更新するためのコンピューティングリソースを提供するウェアハウスの名前を指定します。
オンライン特徴量テーブルを作成するには、ロールがこのウェアハウスに対する USAGE 権限を持っている必要があります。
FROM sourceオンライン特徴量テーブルのデータソースを指定します。ビューまたは動的テーブルのいずれかである必要があります。
オプションのパラメーター¶
REFRESH_MODE = { AUTO | FULL | INCREMENTAL }オンライン特徴量テーブルのリフレッシュモードを指定します。
注釈
このプロパティは、オンライン特徴量テーブルの作成後に変更することはできません。プロパティを変更するには、オンライン特徴量テーブルを再作成します。
AUTOリフレッシュ・モードが AUTO の場合、システムはデフォルトでインクリメンタルリフレッシュを適用しようとします。ただし、インクリメンタルリフレッシュがサポートされていない場合やパフォーマンスが期待できない場合、オンライン特徴量テーブルは自動的にフルリフレッシュを選択します。
リフレッシュモードと自動推奨を試して、ユースケースに最適なモードを決定してください。Snowflakeのリリース間で一貫した動作を維持するには、すべてのオンライン特徴量テーブルで明示的にリフレッシュモードを設定する必要があります。
オンライン特徴テーブルのリフレッシュモードを確認するには、SHOW ONLINE FEATURE TABLES コマンドを使用してオンライン特徴量テーブルのリフレッシュモードを表示します。
FULLオンライン特徴量テーブルの増分リフレッシュが可能な場合でも、オンライン特徴量テーブルのフルリフレッシュを強制します。
INCREMENTALオンライン特徴量テーブルの増分リフレッシュを強制します。オンライン特徴量テーブルの基となるクエリが増分リフレッシュを実行できない場合、オンライン特徴量テーブルの作成は失敗し、エラーメッセージが表示されます。
デフォルト: AUTO
TIMESTAMP_COLUMN = col_nameタイムスタンプ列として扱われるソースの列を指定します。
デフォルト: 値なし
COMMENT = 'string_literal'オンライン特徴量テーブルのコメントを指定します。
デフォルト: 値なし
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )タグの名前とタグの文字列値を指定します。タグ値の最大文字数は256です。
デフォルト: 値なし
アクセス制御の要件¶
権限 |
オブジェクト |
メモ |
|---|---|---|
CREATE ONLINE FEATURE TABLE |
スキーマ |
スキーマに対して CREATE ONLINE FEATURE TABLE 権限を持つロール。 |
USAGE |
ウェアハウス |
WAREHOUSE パラメーターで指定されたウェアハウスについて必要です。 |
Operating on an object in a schema requires at least one privilege on the parent database and at least one privilege on the parent schema.
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
OR REPLACE 句と IF NOT EXISTS 句は互いに排他的です。この2つを同じステートメントで使うことはできません。
CREATE OR REPLACE <オブジェクト> ステートメントはアトミックです。つまり、オブジェクトが置き換えられると、単一のトランザクションで、古いオブジェクトが削除されて新しいオブジェクトが作成されます。
注意
Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。
例¶
以下の例では、 my_online_feature_table というオンライン特徴量テーブルを、主キーを ID 列に設定して作成します。
CREATE ONLINE FEATURE TABLE my_online_feature_table
PRIMARY KEY (ID)
TIMESTAMP_COLUMN = 'TS'
TARGET_LAG = '30 seconds'
WAREHOUSE = MY_WAREHOUSE
FROM MY_SOURCE_DYNAMIC_TABLE;
この例では、 ID と TS が既存の動的テーブル MY_SOURCE_DYNAMIC_TABLE の対応する列を参照します。