SnowConvert AI – BigQuery – CREATE TABLE¶
Grammatikalische Syntax¶
Beispielhafte Quellcode-Muster¶
DEFAULT-COLLATE¶
BigQuery¶
Snowflake¶
Labels – Tabellenoption¶
BigQuery¶
Snowflake¶
Beschreibung – Tabellenoption¶
BigQuery¶
Snowflake¶
Beschreibung – Tabellenoption¶
BigQuery¶
Snowflake¶
Bekannte Probleme¶
1. Nicht unterstützte Tabellenoptionen
Nicht alle Tabellenoptionen werden in Snowflake unterstützt. Wenn in einer OPTIONS-Klausel eine nicht unterstützte Tabellenoption auftritt, wird ein EWI generiert, um darauf hinzuweisen.
BigQuery¶
Snowflake¶
2. Die Mikropartitionierung wird automatisch von Snowflake verwaltet
Snowflake führt eine automatische Partitionierung der Daten durch. Die benutzerdefinierte Partitionierung wird nicht unterstützt.
BigQuery¶
Snowflake¶
COLUMN DEFINITION¶
Grammatikalische Syntax¶
Beispielhafte Quellcode-Muster¶
Beschreibung – Option¶
BigQuery¶
Snowflake¶
COLLATE¶
BigQuery¶
Snowflake¶
Bekannte Probleme¶
1. Rundungsmodus nicht unterstützt
Snowflake unterstützt nicht die Angabe eines Standard-Rundungsmodus für Spalten.
BigQuery¶
Snowflake¶
Zugehörige EWIs¶
SSC-EWI-BQ0001: Snowflake unterstützt die OPTIONS-Klausel nicht.
CREATE EXTERNAL TABLE¶
Beschreibung¶
Externe Tabellen erlauben BigQuery das Abfragen von Daten, die außerhalb des BigQuery-Speichers gespeichert sind (BigQuery SQL Language Reference CREATE EXTERNAL TABLE)
Syntax
Die CREATE EXTERNAL TABLE Anweisung von BigQuery wird in eine CREATE EXTERNAL TABLE-Anweisung von Snowflake umgewandelt, diese Transformation erfordert jedoch einen Benutzereingriff.
To complete the transformation performed by SnowConvert AI, it is necessary to define a Storage Integration, a External Stage and (optional) Notification Integration that have access to the external source were 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 Ihres Snowflake-Kontos und der Bucket-Anbieter identisch sind und eine Benachrichtigungsintegration erstellt wurde.
Beispielhafte Quellcode-Muster¶
CREATE EXTERNAL TABLE 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.
BigQuery¶
Snowflake¶
CREATE EXTERNAL TABLE ohne explizite Spaltenliste¶
Wenn die Spaltenliste nicht angegeben wird, erkennt BigQuery automatisch das Schema der Spalten aus der Dateistruktur. Um dieses Verhalten zu replizieren, generiert SnowConvert AI eine USING TEMPLATE-Klausel, die die INFER_SCHEMA](https://docs.snowflake.com/en/sql-reference/functions/infer_schema)-Funktion verwendet, um die Spaltendefinitionen zu generieren.
Da die INFER_SCHEMA-Funktion ein Dateiformat benötigt, um zu funktionieren, generiert SnowConvert AI ein temporäres Dateiformat für diesen Zweck. Dieses Dateiformat wird nur benötigt, wenn Sie die CREATE EXTERNAL TABLE-Anweisung ausführen, und wird bei Beenden der Sitzung automatisch gelöscht.
BigQuery¶
Snowflake¶
CREATE EXTERNAL TABLE mit mehreren URIs¶
Wenn mehrere Quell-URIs angegeben sind, werden sie im regulären Ausdruck (Regex) der PATTERN-Klausel in Snowflake verknüpft. Die verwendeten *-Platzhalterzeichen werden in ihr .*-Äquivalent in Snowflake umgewandelt.
BigQuery¶
Snowflake¶
WITH CONNECTION-Klausel.¶
Die WITH CONNECTION-Klausel wird entfernt, da die Verbindungsinformationen Snowflake bereits über die Speicherintegration zur Verfügung gestellt wurden.
BigQuery¶
Snowflake¶
Unterstützte Tabellenoptionen¶
Die folgenden externen Tabellenoptionen werden in Snowflake unterstützt und von SnowConvert AI transformiert:
FORMAT
ENCODING
SKIP_LEADING_ROWS
FIELD_DELIMITER
COMPRESSION
BigQuery¶
Snowflake¶
Bekannte Probleme¶
1 CREATE EXTERNAL TABLE ohne explizite Spaltenliste und CSV-Dateiformat
Currently, Snowflake external tables do not support parsing the header of CSV files. When an external table with no explicit column list and CSV file format is found, SnowConvert AI will produce the SKIP_HEADER file format option to avoid runtime errors, however, this will cause the table column names to have the autogenerated names c1, c2, …, cN.
Es wird eine FDM generiert, die darauf hinweist, dass der Header nicht geparst werden kann und dass die Spalten manuell umbenannt werden müssen, um die Namen beizubehalten.
BigQuery¶
Snowflake¶
2. Externe Tabellen, die Google Drive-Quellen referenzieren
Snowflake unterstützt nicht das Lesen von Daten aus Dateien, die auf Google Drive gespeichert sind. Es wird eine FDM generiert, um darüber zu informieren und aufzufordern, die Dateien in den Bucket hochzuladen und über den externen Stagingbereich darauf zuzugreifen.
Die PATTERN-Klausel enthält automatisch generierte Platzhalter FILE_PATH0, FILE_PATH1, …, FILE_PATHN, die nach dem Verschieben der Dateien an den externen Speicherort durch die tatsächlichen Datei- oder Ordnerpfade ersetzt werden müssen.
BigQuery¶
Snowflake¶
3. Externe Tabellen mit dem GOOGLE_SHEETS-Dateiformat
Snowflake unterstützt Google Sheets nicht als Dateiformat, deren Struktur jedoch ähnlich ist wie CSV-Dateien, die von Snowflake unterstützt werden.
When SnowConvert AI detects an external table using the GOOGLE_SHEETS format, it will produce an external table with the CSV file format instead.
Da Google Sheets in Google Drive gespeichert sind, wäre es notwendig, die Dateien als CSV in den externen Speicherort hochzuladen die Dateipfade in der PATTERN-Klausel anzugeben, wie für das vorherige Problem erwähnt.
BigQuery¶
Snowflake¶
4. Externe Tabellen mit nicht unterstützten Dateiformaten
Snowflake unterstützt die folgenden BigQuery-Formate:
BigQuery |
Snowflake |
|---|---|
AVRO |
AVRO |
CSV |
CSV |
NEWLINE_DELIMITED_JSON |
JSON |
ORC |
ORC |
PARQUET |
PARQUET |
Andere Formate werden als nicht unterstützt markiert.
BigQuery¶
Snowflake¶
5. Partitionierte externe Hive-Tabellen
Snowflake unterstützt keine partitionierten externen Hive-Tabellen. Die WITH PARTITION COLUMNS-Klausel wird als nicht unterstützt markiert.
BigQuery¶
Snowflake¶
6. Externe Tabelle ohne Spaltenliste und ohne gültigen Datei-URI für die INFER_SCHEMA-Funktion
Die INFER_SCHEMA-Funktion erfordert einen LOCATION-Parameter, der den Pfad zu einer Datei oder einem Ordner angibt, der zum Erstellen der Tabellenspalten verwendet wird. Dieser Pfad unterstützt jedoch keinen Regex, d. h. das *-Platzhalterzeichen wird nicht unterstützt.
When the table has no columns, SnowConvert AI will check all URIS to find one that does not use wildcards and use it in the INFER_SCHEMA function, when no URI meets such criteria an FDM and FILE_PATH placeholder will be generated, the placeholder has to be replaced with the path of one of the files referenced by the external table to generate the table columns.
BigQuery¶
Snowflake¶
7. Nicht unterstützte Tabellenoptionen
Jede andere Tabellenoption, die nicht im Muster für unterstützte Tabellenoptionen aufgeführt ist, wird als nicht unterstützt markiert.
BigQuery¶
Snowflake¶
Zugehörige EWIs¶
SSC-EWI-BQ0013: Externe Tabellendatenformate, die in Snowflake nicht unterstützt werden
SSC-EWI-BQ0014: Partitionierte externe Hive-Tabellen werden in Snowflake nicht unterstützt
SSC-EWI-BQ0015: External table requires an external stage to access an external location, define and replace the EXTERNAL_STAGE placeholder
SSC-FDM-BQ0004: Die INFER_SCHEMA-Funktion erfordert einen Dateipfad ohne Platzhalter, um die Tabellenvorlage zu generieren und den FILE_PATH-Platzhalter damit zu ersetzen.
SSC-FDM-BQ0005: Parsen des CSV-Headers wird in externen Tabellen nicht unterstützt. Spalten müssen umbenannt werden, damit sie den ursprünglichen Namen entsprechen.
SSC-FDM-BQ0006: Das Lesen von Google Drive wird in Snowflake nicht unterstützt. Laden Sie die Dateien an den externen Speicherort hoch, und ersetzen Sie die FILE_PATH-Platzhalter.
SSC-FDM-BQ0007: The GOOGLE_SHEETS format is not supported in Snowflake. CSV file type is used as a workaround.
CREATE TABLE CLONE¶
Grammatikalische Syntax¶
Beispielhafte Quellcode-Muster¶
FOR SYSTEM TIME AS OF¶
BigQuery¶
Snowflake¶
::{note} Die LABELS-Optionen in CREATE TABLE CLONE-Anweisungen werden nicht in TAGs umgewandelt. Da die TAGs der Quelltabelle kopiert werden, können sie während des Kopierens der Tabelle nicht geändert werden. Die Transformation anderer Tabellenoptionen entspricht der für die [CREATE TABLE](./ bigquery-create-table.md#labels-table-option)-Anweisung.
CREATE TABLE COPY
Grammar syntax
Sample Source Patterns
Allgemeiner Fall
CREATE TABLE CLONE in Snowflake entspricht funktional CREATE TABLE COPY.
Eingabecode
BigQuery
Snowflake
Bemerkung
:Die LABELS-Optionen in CREATE TABLE COPY-Anweisungen werden nicht in TAGs umgewandelt. Da die TAGs der Quelltabelle kopiert werden, können sie während des Kopierens der Tabelle nicht geändert werden. Die Transformation anderer Tabellenoptionen entspricht der für die CREATE TABLE-Anweisung.
CREATE TABLE LIKE¶
Grammatikalische Syntax¶
Success
CREATE TABLE LIKE wird von Snowflake vollständig unterstützt.
Bemerkung
:Die LABELS-Optionen in CREATE TABLE LIKE-Anweisungen werden nicht in TAGs umgewandelt. Da die TAGs der Quelltabelle kopiert werden, können sie während des Kopierens der Tabelle nicht geändert werden. Die Transformation anderer Tabellenoptionen entspricht der für die CREATE TABLE-Anweisung.
CREATE TABLE SNAPSHOT¶
Grammatikalische Syntax¶
Beispielhafte Quellcode-Muster¶
Allgemeiner Fall¶
Das Snapshot-Schlüsselwort wird in Snowflake entfernt, wodurch die Tabelle in CREATE TABLE CLONE umgewandelt wird.
Die beiden Unterschiede zwischen Snapshots und Klonen bestehen darin, dass Snapshots nicht bearbeitet werden können und normalerweise ein Ablaufdatum haben. Ablaufdaten werden nicht unterstützt. Dies wird wie für die nicht unterstützten Optionen der [CREATE TABLE(bigquery-create-table.md#labels-table-option)-Anweisung angegeben behandelt.
BigQuery¶
Snowflake¶
FOR SYSTEM TIME AS OF¶
BigQuery¶
Snowflake¶
Bemerkung
Die LABELS-Optionen in CREATE TABLE COPY-Anweisungen werden nicht in TAGs umgewandelt. Da die TAGs der Quelltabelle kopiert werden, können sie während des Kopierens der Tabelle nicht geändert werden.
Die Transformation anderer Tabellenoptionen entspricht der für die CREATE TABLE-Anweisung.