SnowConvert AI – Hive – CREATE EXTERNAL TABLE¶
Applies to
Hive SQL
Spark SQL
Databricks SQL
Beschreibung¶
EXTERNAL TABLE definiert eine neue Tabelle unter Verwendung einer Datenquelle. (Spark SQL-Sprachreferenz – CREATE DATASOURCE TABLE).
Die CREATE EXTERNAL TABLE-Anweisung von Spark/Databricks wird in eine CREATE EXTERNAL TABLE-Anweisung von Snowflake transformiert; diese Transformation erfordert jedoch einen Benutzereingriff.
To complete the transformation performed by SnowConvert AI, it is necessary to define a Storage Integration, an External Stage, and (optionally) a Notification Integration that have access to the external source where files are located. Please refer to the following guides on how to set up the connection for each provider:
Wichtige Hinweise zu den auf dieser Seite gezeigten Transformationen:
Der @EXTERNAL_STAGE-Platzhalter muss durch den externen Stagingbereich ersetzt werden, der anhand der vorherigen Anleitung erstellt wurde.
Es wird davon ausgegangen, dass der externe Stagingbereich auf das Rootverzeichnis des Buckets verweist. Dies muss berücksichtigt werden, da die PATTERN-Klausel, die für jede Tabelle generiert wird, die Datei-/Ordnerpfade angibt, die an der Basis des Buckets beginnen. Wenn der externe Stagingbereich auf einen anderen Speicherort im Bucket verweist, kann dies zu unerwünschtem Verhalten führen.
Die
AUTO_REFRESH = FALSE-Klausel wird generiert, um Fehler zu vermeiden. Beachten Sie, dass die automatische Aktualisierung der Metadaten externer Tabellen nur gültig ist, wenn der Cloudanbieter für Ihr Snowflake-Konto und der Bucketanbieter identisch sind und eine Benachrichtigungsintegration erstellt wurde.
Beispielhafte Quellcode-Muster¶
Erstellen einer externen Tabelle mit expliziter Spaltenliste¶
When the column list is provided, SnowConvert AI will automatically generate the AS expression column options for each column to extract the file values.
Eingabecode:¶
Ausgabecode:¶
CREATE EXTERNAL TABLE ohne explizite Spaltenliste ¶
When the column list is not provided, Spark automatically detects the schema of the columns from the file structure. To replicate this behavior, SnowConvert AI will generate a USING TEMPLATE clause that makes use of the INFER_SCHEMA function to generate the column definitions.
Da die INFER_SCHEMA-Funktion ein Dateiformat benötigt, um zu funktionieren, erzeugt SnowConvert AI für diesen Zweck ein temporäres Dateiformat. Dieses Dateiformat ist nur erforderlich, wenn Sie die CREATE EXTERNAL TABLE-Anweisung ausführen. Es wird beim Beenden der Sitzung automatisch gelöscht.
Eingabecode:¶
Ausgabecode:¶
CREATE EXTERNAL TABLE im Hive-Format¶
Die Erstellung von externen Tabellen mit dem Hive-Format wird ebenfalls unterstützt. Sie haben eine FDM hinzugefügt, um Benutzende darüber zu informieren, dass das Einfügen in diese Tabellen nicht unterstützt wird.
Eingabecode:¶
Ausgabecode:¶
Bekannte Probleme¶
1. Externe Tabellen mit nicht unterstützten Dateiformaten
Snowflake unterstützt die folgenden Spark-Formate:
CSV
PARQUET
ORC
XML
JSON
AVRO
Andere Formate werden als nicht unterstützt markiert.
2. Nicht unterstützte Tabellenoptionen
Einige Tabellenoptionen werden von SnowConvert AI nicht unterstützt und sind mit einer EWI gekennzeichnet.