Schritt 4: Daten in die Zieltabelle kopieren

Führen Sie COPY INTO <Tabelle> aus, um die im Stagingbereich bereitgestellten Daten in die Zieltabelle zu laden.

Beachten Sie, dass dieser Befehl ein aktives, ausgeführtes Warehouse erfordert, das Sie als Voraussetzung für dieses Tutorial erstellt haben. Wenn Sie keinen Zugriff auf ein Warehouse haben, müssen Sie diesen jetzt erstellen.

COPY INTO emp_basic
  FROM @%emp_basic
  FILE_FORMAT = (type = csv field_optionally_enclosed_by='"')
  PATTERN = '.*employees0[1-5].csv.gz'
  ON_ERROR = 'skip_file';

Werfen wir einen genaueren Blick auf diesen Befehl:

  • Die FROM-Klausel identifiziert den Speicherort des internen Stagingbereichs.

  • FILE_FORMAT gibt den Dateityp als CSV an und das doppelte Anführungszeichen (") als Zeichen zum Umschließen von Zeichenfolgen an. Snowflake unterstützt verschiedene Dateitypen und Optionen. Diese sind unter CREATE FILE FORMAT beschrieben. Das Beispiel für eine COPY-Anweisung akzeptiert alle anderen standardmäßigen Dateiformatoptionen.

  • PATTERN wendet die Mustererkennung an, um Daten aus allen Dateien zu laden, die mit dem regulären Ausdruck .*employees0[1-5].csv.gz übereinstimmen.

  • ON_ERROR gibt an, was zu tun ist, wenn der COPY-Befehl Fehler in den Dateien feststellt. Standardmäßig stoppt der Befehl das Laden von Daten beim ersten Auftreten eines Fehlers. Wir haben den Befehl jedoch so angepasst, dass jede Datei mit einem Fehler übersprungen und mit dem Laden der nächsten Datei fortgefahren wird. Beachten Sie, dass dies nur zur Veranschaulichung dient. Keine der Dateien in diesem Tutorial enthält Fehler.

Der COPY-Befehl bietet auch eine Option, mit der Sie Dateien vor dem Laden überprüfen können. Weitere Informationen zu Fehlerprüfung und Validierung finden Sie unter dem Thema COPY INTO <Tabelle> und in den anderen Tutorials zum Laden von Daten.

Snowflake gibt die folgenden Ergebnisse zurück:

+--------------------+--------+-------------+-------------+-------------+-------------+-------------+------------------+-----------------------+-------------------------+
| file               | status | rows_parsed | rows_loaded | error_limit | errors_seen | first_error | first_error_line | first_error_character | first_error_column_name |
|--------------------+--------+-------------+-------------+-------------+-------------+-------------+------------------+-----------------------+-------------------------|
| employees02.csv.gz | LOADED |           5 |           5 |           1 |           0 | NULL        |             NULL |                  NULL | NULL                    |
| employees04.csv.gz | LOADED |           5 |           5 |           1 |           0 | NULL        |             NULL |                  NULL | NULL                    |
| employees05.csv.gz | LOADED |           5 |           5 |           1 |           0 | NULL        |             NULL |                  NULL | NULL                    |
| employees03.csv.gz | LOADED |           5 |           5 |           1 |           0 | NULL        |             NULL |                  NULL | NULL                    |
| employees01.csv.gz | LOADED |           5 |           5 |           1 |           0 | NULL        |             NULL |                  NULL | NULL                    |
+--------------------+--------+-------------+-------------+-------------+-------------+-------------+------------------+-----------------------+-------------------------+

Nächstes Thema: Schritt 5: Abfragen der geladenen Daten