Vorbereiten des Ladens von Daten¶
Dieses Thema bietet eine Übersicht zu unterstützten Dateiformaten und Datenkomprimierung. Abhängig von der Struktur Ihrer Daten müssen Sie möglicherweise die Daten vor dem Laden vorbereiten.
Unter diesem Thema:
Unterstützte Datentypen¶
Siehe Referenz der SQL-Datentypen für Beschreibungen der von Snowflake unterstützten Datentypen.
Datendatei-Komprimierung¶
Wir empfehlen, dass Sie Ihre Datendateien komprimieren, wenn Sie große Datasets laden. Unter CREATE FILE FORMAT finden Sie die für jeden Datentyp unterstützten Komprimierungsalgorithmen.
Wenn Sie komprimierte Daten laden, bestimmt Snowflake automatisch die Datei- und Codec-Komprimierungsmethode für Ihre Datendateien. Die Dateiformatoption COMPRESSION beschreibt, wie Ihre Datendateien im Stagingbereich bereits komprimiert werden. Stellen Sie die Option COMPRESSION auf eine der folgenden Arten ein:
Als Dateiformatoption, die direkt in der COPY INTO <Tabelle>-Anweisung angegeben wird.
Als Dateiformatoption, die für ein benanntes Dateiformat oder Stagingobjekt angegeben wird. Das benannte Dateiformat/Stagingobjekt kann dann in der COPY INTO <Tabelle>-Anweisung referenziert werden.
Unterstützte Dateiformate¶
Die folgenden Dateiformate werden unterstützt:
Strukturiert/Semistrukturiert
Typ
Anmerkungen
Strukturiert
Mit Trennzeichen (CSV, TSV usw.)
Es werden alle gültigen Einzelbyte-Trennzeichen unterstützt. Der Standard ist Komma (d. h. CSV).
Semistrukturiert
JSON
Avro
Beinhaltet die automatische Erkennung und Verarbeitung von komprimierten Avro-Dateien.
ORC
Beinhaltet die automatische Erkennung und Verarbeitung von komprimierten ORC-Dateien.
Parquet
Beinhaltet die automatische Erkennung und Verarbeitung von komprimierten Parquet-Dateien. . . Derzeit unterstützt Snowflake das Schema von Parquet-Dateien, die mit dem Parquet-Writer v1 erzeugt wurden. Dateien, die mit v2 des Writers erzeugt wurden, werden nicht unterstützt.
XML
Unterstützt als Vorschaufunktion.
Mit Dateiformatoptionen können die Art der in einer Datei enthaltenen Daten sowie andere zugehörige Merkmale des Datenformats angegeben werden. Die Optionen für das Dateiformat, die Sie festlegen können, sind je nach Art der zu ladenden Daten unterschiedlich. Snowflake bietet einen vollständigen Satz von Standardeinstellungen für Dateiformatoptionen.
Semistrukturierte Dateiformate¶
Snowflake bietet systeminterne Unterstützung für semistrukturierte Daten, was bedeutet, dass semistrukturierte Daten in relationale Tabellen geladen werden können, ohne dass die Definition eines Schemas im Voraus erforderlich ist. Snowflake unterstützt das direkte Laden semistrukturierter Daten in Spalten vom Typ VARIANT (siehe Semistrukturierte Datentypen für weitere Details).
Zu den derzeit unterstützten semistrukturierten Datenformaten gehören JSON, Avro, ORC, Parquet und XML:
Für JSON-, Avro-, ORC- und Parquet-Daten wird jedes übergeordnete, vollständige Objekt als separate Zeile in der Tabelle geladen. Jedes Objekt kann neue Zeilenzeichen und Leerzeichen enthalten, solange das Objekt gültig ist.
Bei XML-Daten wird jedes übergeordnete Element als separate Zeile in der Tabelle geladen. Ein Element wird durch ein gleichnamiges Start- und Schließ-Tag identifiziert.
Typischerweise bestehen Tabellen, die zum Speichern semistrukturierter Daten verwendet werden, aus einer einzigen VARIANT-Spalte. Nach dem Laden der Daten können Sie die Daten ähnlich wie bei strukturierten Daten abfragen. Sie können auch andere Aufgaben ausführen, wie z. B. das Extrahieren von Werten und Objekten aus Arrays. Weitere Informationen dazu finden Sie in der Tabellenfunktion FLATTEN.
Bemerkung
Semistrukturierte Daten können in Tabellen mit mehreren Spalten geladen werden, aber die semistrukturierten Daten müssen als Feld in einer strukturierten Datei gespeichert werden (z. B. CSV-Datei). Anschließend können die Daten in eine bestimmte Spalte der Tabelle geladen werden.
Benannte Dateiformate¶
Snowflake unterstützt die Erstellung benannter Dateiformate. Dabei handelt es sich um Datenbankobjekte, die alle erforderlichen Formatinformationen kapseln. Benannte Dateiformate können dann an den gleichen Stellen als Eingabe verwendet werden, an denen Sie individuelle Dateiformatoptionen festlegen können, was den Datenladeprozess für ähnlich formatierte Daten vereinfacht.
Benannte Dateiformate sind optional, werden aber empfohlen, wenn Sie planen, regelmäßig ähnlich formatierte Daten zu laden.
Erstellen eines benannten Dateiformats¶
Sie können ein Dateiformat entweder über die Weboberfläche oder über SQL erstellen:
- Snowsight:
Wählen Sie Data » Databases aus.
Suchen Sie die Datenbank, und wählen Sie das Schema aus, dem Sie das Dateiformat hinzufügen möchten.
Wählen Sie Create » File Format aus.
Vervollständigen Sie die SQL-Anweisung, und wählen Sie Create File Format aus.
- Classic Console:
- SQL:
Eine Beschreibung aller Dateiformatoptionen und der Standardwerte finden Sie unter CREATE FILE FORMAT.
Überschreiben der standardmäßigen Dateiformatoptionen¶
Sie können die Dateiformateinstellungen für Ihre bereitgestellten Daten an einer der folgenden Stellen definieren (d. h. die Standardeinstellungen überschreiben):
- In der Tabellendefinition:
Legen Sie die Optionen explizit mit dem Parameter FILE_FORMAT fest. Weitere Informationen dazu finden Sie unter CREATE TABLE.
- In der benannten Stagingbereichsdefinition:
Legen Sie die Optionen explizit mit dem Parameter FILE_FORMAT fest. Der Stagingbereich wird dann in der COPY INTO TABLE-Anweisung referenziert. Weitere Informationen dazu finden Sie unter CREATE STAGE.
- Direkt in der COPY INTO TABLE-Anweisung beim Laden von Daten:
Legen Sie die Optionen explizit separat fest. Weitere Informationen dazu finden Sie unter COPY INTO <Tabelle>.
Wenn Dateiformatoptionen an verschiedenen Stellen angegeben werden, wendet die Ladeoperation die Optionen in der folgenden Reihenfolge an:
COPY INTO TABLE-Anweisung.
Stagingbereichsdefinition.
Tabellendefinition.
Bemerkung
An verschiedenen Stellen festgelegte Dateiformatoptionen sind nicht kumulativ. Alle an einer Stelle festgelegten Optionen überschreiben alle Optionen (unabhängig davon, ob dieselben oder unterschiedliche Optionen), die in der Reihenfolge niedriger eingestellt werden.
Unterstützte Kopieroptionen¶
Kopieroptionen bestimmen über das Verhalten eines Datenladevorgangs hinsichtlich Fehlerbehandlung, maximaler Datengröße usw.
Eine Beschreibung aller Kopieroptionen und der Standardwerte finden Sie unter COPY INTO <Tabelle>.
Überschreiben der Standardkopieroptionen¶
Sie können das gewünschte Ladeverhalten festlegen (d. h. die Standardeinstellungen überschreiben), und zwar an einer der folgenden Stellen:
- In der Tabellendefinition:
Legen Sie die Optionen explizit mit dem Parameter STAGE_COPY_OPTIONS fest. Weitere Informationen dazu finden Sie unter CREATE TABLE.
- In der benannten Stagingbereichsdefinition:
Legen Sie die Optionen explizit mit dem Parameter COPY_OPTIONS fest. Der Stagingbereich wird dann in der COPY INTO TABLE-Anweisung referenziert. Weitere Informationen dazu finden Sie unter CREATE STAGE.
- Direkt in der COPY INTO TABLE-Anweisung beim Laden von Daten:
Legen Sie die Optionen explizit separat fest. Weitere Informationen dazu finden Sie unter COPY INTO <Tabelle>.
Wenn Kopieroptionen an verschiedenen Stellen festgelegt sind, werden die Optionen beim Ladevorgang in der folgenden Reihenfolge angewendet:
COPY INTO TABLE-Anweisung.
Stagingbereichsdefinition.
Tabellendefinition.
Bemerkung
An verschiedenen Stellen festgelegte Kopieroptionen sind kumulativ. Einzelne, an einer Stelle festgelegte Optionen überschreiben dieselbe Option, die in der Bearbeitungsreihenfolge nachrangig sind.