Schritt 3: Daten in die Zieltabelle kopieren¶
Führen Sie COPY INTO <Tabelle> aus, um die im Stagingbereich bereitgestellten Daten in die Zieltabellen zu laden.
CSV¶
So laden Sie die Daten aus den CSV-Beispieldateien:
Laden Sie zunächst die Daten aus einer der Dateien im Ordner
/tutorials/dataloading/
mit dem Namencontacts1.csv
in die Tabellemycsvtable
. Führen Sie den folgenden Befehl aus:COPY INTO mycsvtable FROM @my_csv_stage/tutorials/dataloading/contacts1.csv ON_ERROR = 'skip_file';
Wobei:
Die
FROM
-Klausel gibt den Speicherort der Staging-Datendatei an (Stagingbereichsname gefolgt vom Dateinamen).Die
ON_ERROR = 'skip_file'
-Klausel gibt an, was zu tun ist, wenn der COPY-Befehl Fehler in den Dateien feststellt. Wenn in diesem Fall der Befehl in einem der Datensätze einer Datei auf einen Datenfehler stößt, wird diese Datei übersprungen. Wenn Sie keine ON_ERROR-Klausel angeben, wird standardmäßigabort_statement
verwendet, wodurch der COPY-Befehl beim ersten Fehler abgebrochen wird, der bei einem der Datensätze einer Datei auftritt.
Der COPY-Befehl gibt als Ergebnis die Namen der kopierten Dateien und zugehörige Informationen zurück:
+---------------------------------------------------------+--------+-------------+-------------+-------------+-------------+-------------+------------------+-----------------------+-------------------------+ | file | status | rows_parsed | rows_loaded | error_limit | errors_seen | first_error | first_error_line | first_error_character | first_error_column_name | |---------------------------------------------------------+--------+-------------+-------------+-------------+-------------+-------------+------------------+-----------------------+-------------------------| | s3://snowflake-docs/tutorials/dataloading/contacts1.csv | LOADED | 5 | 5 | 1 | 0 | NULL | NULL | NULL | NULL | +---------------------------------------------------------+--------+-------------+-------------+-------------+-------------+-------------+------------------+-----------------------+-------------------------+
Laden Sie den Rest der Stagingdateien in die Tabelle
mycsvtable
.Im folgenden Beispiel wird die Mustererkennung verwendet, um Daten aus Dateien, die mit dem regulären Ausdruck
.*contacts[1-5].csv
übereinstimmen, in die Tabellemycsvtable
zu laden.COPY INTO mycsvtable FROM @my_csv_stage/tutorials/dataloading/ PATTERN='.*contacts[1-5].csv' ON_ERROR = 'skip_file';
Dabei gibt die
PATTERN
-Klausel an, dass der Befehl Daten aus Dateien mit Namen laden soll, die mit dem regulären Ausdruck.*contacts[1-5].csv
übereinstimmen.Der COPY-Befehl gibt als Ergebnis die Namen der kopierten Dateien und zugehörige Informationen zurück:
+---------------------------------------------------------+-------------+-------------+-------------+-------------+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-----------------------+-------------------------+ | file | status | rows_parsed | rows_loaded | error_limit | errors_seen | first_error | first_error_line | first_error_character | first_error_column_name | |---------------------------------------------------------+-------------+-------------+-------------+-------------+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-----------------------+-------------------------| | s3://snowflake-docs/tutorials/dataloading/contacts2.csv | LOADED | 5 | 5 | 1 | 0 | NULL | NULL | NULL | NULL | | s3://snowflake-docs/tutorials/dataloading/contacts3.csv | LOAD_FAILED | 5 | 0 | 1 | 2 | Number of columns in file (11) does not match that of the corresponding table (10), use file format option error_on_column_count_mismatch=false to ignore this error | 3 | 1 | "MYCSVTABLE"[11] | | s3://snowflake-docs/tutorials/dataloading/contacts4.csv | LOADED | 5 | 5 | 1 | 0 | NULL | NULL | NULL | NULL | | s3://snowflake-docs/tutorials/dataloading/contacts5.csv | LOADED | 6 | 6 | 1 | 0 | NULL | NULL | NULL | NULL | +---------------------------------------------------------+-------------+-------------+-------------+-------------+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------+-----------------------+-------------------------+
Das Ergebnis liefert die folgenden Informationen:
Die Daten in
contacts1.csv
werden ignoriert, da Sie die Daten bereits erfolgreich geladen haben.Die Daten folgender Dateien wurden erfolgreich geladen:
contacts2.csv
,contacts4.csv
undcontacts5.csv
.Die Daten in
contacts3.csv
wurden aufgrund von 2 Datenfehlern übersprungen. Der nächste Schritt in diesem Tutorial befasst sich mit der Validierung und Behebung der Fehler.
JSON¶
Laden Sie die Staging-Datendatei contacts.json
in die Tabelle myjsontable
.
COPY INTO myjsontable FROM @my_json_stage/tutorials/dataloading/contacts.json ON_ERROR = 'skip_file';
COPY gibt ein Ergebnis zurück, das den Namen der kopierten Datei und zugehörige Informationen enthält:
+---------------------------------------------------------+--------+-------------+-------------+-------------+-------------+-------------+------------------+-----------------------+-------------------------+
| file | status | rows_parsed | rows_loaded | error_limit | errors_seen | first_error | first_error_line | first_error_character | first_error_column_name |
|---------------------------------------------------------+--------+-------------+-------------+-------------+-------------+-------------+------------------+-----------------------+-------------------------|
| s3://snowflake-docs/tutorials/dataloading/contacts.json | LOADED | 3 | 3 | 1 | 0 | NULL | NULL | NULL | NULL |
+---------------------------------------------------------+--------+-------------+-------------+-------------+-------------+-------------+------------------+-----------------------+-------------------------+
Nächstes Thema: Schritt 4: Beheben von Datenladefehlern im Zusammenhang mit Datenproblemen