CREATE ONLINE FEATURE TABLE¶
Erstellt eine neue Online-Feature-Tabelle im aktuellen/angegebenen Schema oder ersetzt eine bestehende Tabelle.
- Siehe auch:
ALTER ONLINE FEATURE TABLE , DESCRIBE ONLINE FEATURE TABLE, DROP ONLINE FEATURE TABLE , SHOW ONLINE FEATURE TABLES
Syntax¶
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>
Erforderliche Parameter¶
nameZeichenfolge, die den Bezeichner (d. h. den Namen) für die Online-Feature-Tabelle angibt; muss für das Schema, in dem die Tabelle erstellt wird, eindeutig sein.
PRIMARY KEY ( col_name [ , col_name , ... ] )Gibt die erforderliche Primärschlüsseleinschränkung der Tabelle an. Der Primärschlüssel dient als eindeutiger Bezeichner für jede Zeile in der Tabelle und als Suchschlüssel in den schnellen SELECT-Abfragen.
TARGET_LAG = 'num { seconds | minutes | hours | days }'Gibt die maximale Zeit an, die der Inhalt der Online-Feature-Tabelle hinter den Aktualisierungen der Quelle zurückbleiben darf.
Muss zwischen 10 Sekunden und 8 Tagen (einschließlich) liegen.
WAREHOUSE = warehouse_nameGibt den Namen des Warehouses an, das die Computeressourcen für die Aktualisierung der Online-Feature-Tabelle bereitstellt.
Sie müssen eine Rolle verwenden, die über die USAGE-Berechtigung für dieses Warehouse verfügt, um die Online-Feature-Tabelle erstellen zu können.
FROM sourceGibt die Datenquelle der Online-Feature-Tabelle an. Muss entweder eine Ansicht oder eine dynamische Tabelle sein.
Optionale Parameter¶
REFRESH_MODE = { AUTO | FULL | INCREMENTAL }Gibt den Aktualisierungsmodus für die Online-Feature-Tabelle an.
Bemerkung
Diese Eigenschaft kann nicht mehr geändert werden, nachdem Sie die Online-Feature-Tabelle erstellt haben. Um die Eigenschaft zu ändern, erstellen Sie die Online-Feature-Tabelle neu.
AUTOWenn der Modus AUTO eingestellt ist, versucht das System standardmäßig, eine inkrementelle Aktualisierung durchzuführen. Wenn jedoch eine inkrementelle Aktualisierung nicht unterstützt wird oder keine gute Leistung zu erwarten ist, wählt die Online-Feature-Tabelle stattdessen automatisch eine vollständige Aktualisierung.
Um den besten Modus für Ihren Anwendungsfall zu ermitteln, experimentieren Sie mit Aktualisierungsmodi und automatischen Empfehlungen. Um eine konsistente Verhaltensweise in allen Snowflake Releases zu gewährleisten, stellen Sie den Aktualisierungsmodus explizit für alle Online-Feature-Tabellen ein.
Um den Aktualisierungsmodus für Ihre Online-Feature-Tabellen zu überprüfen, rufen Sie den Aktualisierungsmodus für Online-Feature-Tabellen mit dem Befehl SHOW ONLINE FEATURE TABLES auf.
FULLErzwingt eine vollständige Aktualisierung der Online-Feature-Tabelle, auch wenn die Online-Feature-Tabelle inkrementell aktualisiert werden kann.
INCREMENTALErzwingt eine inkrementelle Aktualisierung der Online-Feature-Tabelle. Wenn die Abfrage, die der Online-Feature-Tabelle zugrunde liegt, keine inkrementelle Aktualisierung ausführen kann, schlägt das Erstellen der Online-Feature-Tabelle fehl, und es wird eine Fehlermeldung angezeigt.
Standard: AUTO
TIMESTAMP_COLUMN = col_nameGibt die Spalte in der Quelle an, die als Zeitstempelspalte behandelt wird.
Standard: Kein Wert
COMMENT = 'string_literal'Gibt einen Kommentar für die Online-Feature-Tabelle an.
Standard: Kein Wert
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )Gibt den Namen des Tags und den Wert der Tag-Zeichenfolge an. Der Tag-Wert kann maximal 256 Zeichen umfassen.
Standard: Kein Wert
Anforderungen an die Zugriffssteuerung¶
Berechtigung |
Objekt |
Anmerkungen |
|---|---|---|
CREATE ONLINE FEATURE TABLE |
Schema |
Rolle, die über die CREATE ONLINE FEATURE TABLE-Berechtigung für das Schema verfügt. |
USAGE |
Warehouse |
Erforderlich für das im Parameter WAREHOUSE angegebene Warehouse |
USAGE-Berechtigung für die übergeordnete Datenbank und das Schema ist erforderlich, um Operationen an einem beliebigen Objekt in einem Schema durchzuführen. Beachten Sie, dass eine Rolle, die eine beliebige Berechtigung für ein Schema erhalten hat, es dieser Rolle erlaubt, das Schema aufzulösen. Zum Beispiel kann eine Rolle, der die CREATE-Berechtigung für ein Schema gewährt wurde, Objekte in diesem Schema erstellen, ohne auch USAGE für dieses Schema gewährt bekommen zu haben.
Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.
Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.
Nutzungshinweise¶
Die Klauseln OR REPLACE und IF NOT EXISTS schließen sich gegenseitig aus. Sie können nicht beide in der gleichen Anweisung verwendet werden.
CREATE OR REPLACE <Objekt>-Anweisungen sind atomar. Das heißt, wenn ein Objekt ersetzt wird, erfolgt das Löschen des alten Objekts und das Erstellen des neuen Objekts in einer einzigen Transaktion.
Achtung
Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „User“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.
Beispiele¶
Im folgenden Beispiel wird eine Online-Feature-Tabelle mit dem Namen my_online_feature_table mit einem Primärschlüssel für die Spalte ID erstellt:
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;
In diesem Beispiel beziehen sich ID und TS auf die entsprechenden Spalten in der bestehenden dynamischen Tabelle MY_SOURCE_DYNAMIC_TABLE.