Schritt 3: Datendateien im Stagingbereich bereitstellen

Eine Snowflake-Stagingbereich ist ein Ort im Cloudspeicher, den Sie zum Laden und Entladen von Daten aus einer Tabelle verwenden. Ein Stagingbereich ermöglicht das Laden von Daten in eine Tabelle und das Entladen von Daten aus einer Tabelle. Snowflake unterstützt folgende Typen:

  • Interne Stagingbereiche: Speichern Datendateien intern in Snowflake. Jeder Benutzer und jede Tabelle in Snowflake erhält standardmäßig einen internen Stagingbereich für die Bereitstellung von Datendateien.

  • Externe Stagingbereiche: Werden verwendet, um Datendateien extern in Amazon S3, Google Cloud Storage oder Microsoft Azure zu speichern. Wenn Ihre Daten bereits bei diesen Cloudspeicherdiensten gespeichert werden, können Sie einen externen Stagingbereich verwenden, um Daten in Snowflake-Tabellen zu laden.

In diesem Tutorial laden wir die Beispieldatendateien (im Abschnitt Voraussetzungen heruntergeladen) in den für die zuvor erstellt Tabelle emp_basic vorgesehenen internen Stagingbereich hoch. Verwenden Sie den Befehl PUT, um die Beispieldatendateien in diesen Stagingbereich hochzuladen.

Unter diesem Thema:

Staging der Beispieldatendateien

Führen Sie PUT in SnowSQL aus, um lokale Datendateien in den Tabellen-Stagingbereich hochzuladen, der für die von Ihnen erstellte Tabelle emp_basic vorgesehen ist.

put file://<file-path>[/\]employees0*.csv @sf_tuts.public.%emp_basic;
Copy

Beispiel:

  • Linux oder macOS

    PUT file:///tmp/employees0*.csv @sf_tuts.public.%emp_basic;
    
    Copy
  • Windows

    PUT file://C:\temp\employees0*.csv @sf_tuts.public.%emp_basic;
    
    Copy

Lassen Sie uns einen genaueren Blick auf den Befehl werfen:

  • file://<file-path>[/\]employees0*.csv gibt den vollständigen Verzeichnispfad und die Namen der Dateien auf Ihrem lokalen Computer an, die im Stagingbereich bereitgestellt werden sollen. Beachten Sie, dass Platzhalter für Dateisysteme erlaubt sind.

  • @<Namespace>.%<Tabellenname> zeigt an, dass die angegebene Tabelle, in diesem Fall die Tabelle emp_basic, im Stagingbereich verwendet werden soll.

Der Befehl liefert das folgende Ergebnis, das die Stagingdateien anzeigt:

+-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------+
| source          | target             | source_size | target_size | source_compression | target_compression | status   | message |
|-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------|
| employees01.csv | employees01.csv.gz |         360 |         287 | NONE               | GZIP               | UPLOADED |         |
| employees02.csv | employees02.csv.gz |         355 |         274 | NONE               | GZIP               | UPLOADED |         |
| employees03.csv | employees03.csv.gz |         397 |         295 | NONE               | GZIP               | UPLOADED |         |
| employees04.csv | employees04.csv.gz |         366 |         288 | NONE               | GZIP               | UPLOADED |         |
| employees05.csv | employees05.csv.gz |         394 |         299 | NONE               | GZIP               | UPLOADED |         |
+-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------+
Copy

Beachten Sie, dass beim PUT-Befehl Dateien standardmäßig mit gzip komprimiert werden, wie in der Spalte TARGET_COMPRESSION angegeben.

Auflisten der Stagingdateien (optional)

Sie können die Stagingdateien mit dem Befehl LIST auflisten.

LIST @sf_tuts.public.%emp_basic;
Copy

Nachfolgend ein Beispiel für ein Ergebnis:

+--------------------+------+----------------------------------+------------------------------+
| name               | size | md5                              | last_modified                |
|--------------------+------+----------------------------------+------------------------------|
| employees01.csv.gz |  288 | a851f2cc56138b0cd16cb603a97e74b1 | Tue, 9 Jan 2018 15:31:44 GMT |
| employees02.csv.gz |  288 | 125f5645ea500b0fde0cdd5f54029db9 | Tue, 9 Jan 2018 15:31:44 GMT |
| employees03.csv.gz |  304 | eafee33d3e62f079a054260503ddb921 | Tue, 9 Jan 2018 15:31:45 GMT |
| employees04.csv.gz |  304 | 9984ab077684fbcec93ae37479fa2f4d | Tue, 9 Jan 2018 15:31:44 GMT |
| employees05.csv.gz |  304 | 8ad4dc63a095332e158786cb6e8532d0 | Tue, 9 Jan 2018 15:31:44 GMT |
+--------------------+------+----------------------------------+------------------------------+
Copy

Nächstes Thema: Schritt 4: Daten in die Zieltabelle kopieren