Beispieldaten mit SQL laden und abfragen

Einführung

In diesem Tutorial wird Ihnen anhand der fiktiven Foodtruck-Marke „Tasty Bytes“ gezeigt, wie Sie mit SQL Daten in Snowflake laden und abfragen können. Sie verwenden ein in Snowsight vorinstalliertes Arbeitsblatt, um diese Aufgaben zu erledigen.

Die folgende Abbildung gibt einen Überblick zu Tasty Bytes.

Enthält einen Überblick zu Tasty Bytes, einem globalen Foodtruck-Netzwerk mit 15 Marken von lokalisierten Foodtruck-Optionen in mehreren Ländern und Städten. Die Abbildung beschreibt das Leitbild, die Vision, die Standorte, die aktuelle Situation und die Wachstumsziele des Unternehmens.

Bemerkung

Snowflake stellt einen minimalen Betrag für den Festplattenspeicher in Rechnung, der für die Beispieldaten in diesem Tutorial benötigt wird. In diesem Tutorial werden Schritte zum Löschen der Tabelle beschrieben, um die Speicherkosten zu minimieren.

Snowflake benötigt ein virtuelles Warehouse, um die Daten laden und Abfragen ausführen zu können. Ein aktives virtuelles Warehouse verbraucht Snowflake-Credits. In diesem Tutorial werden Sie ein 30-tägiges Testkonto verwenden, das kostenlose Credits bietet, sodass Ihnen keine Kosten entstehen.

Lerninhalte

In diesem Tutorial lernen Sie Folgendes:

  • Eine Rolle verwenden, um Zugriff auf die verfügbaren Funktionen von erteilten Berechtigungen zu erhalten

  • Ein Warehouse verwenden, um auf Ressourcen zuzugreifen

  • Eine Datenbank und ein Schema erstellen

  • Eine Tabelle erstellen

  • Daten in die Tabelle laden

  • Daten in der Tabelle abfragen

Voraussetzungen

Dieses Tutorial setzt Folgendes voraus:

Bemerkung

Dieses Tutorial ist nur für Benutzer mit einem Testkonto verfügbar. Das Musterarbeitsblatt ist für andere Typen von Konten nicht verfügbar.

Schritt 1: Mit Snowsight anmelden

Um über das öffentliche Internet auf Snowsight zuzugreifen, gehen Sie wie folgt vor:

  1. Navigieren Sie in einem unterstützten Webbrowser zu https://app.snowflake.com.

  2. Geben Sie Ihren Kontobezeichner oder Ihre Konto-URL an. Wenn Sie sich bereits zuvor bei Snowsight angemeldet haben, wird Ihnen möglicherweise ein Kontoname angezeigt, den Sie auswählen können.

  3. Melden Sie sich mit den entsprechenden Anmeldeinformationen bei Ihrem Snowflake-Konto an.

Schritt 2: SQL-Arbeitsblatt zum Laden und Abfragen von Daten öffnen

Sie können Arbeitsblätter zum Schreiben und Ausführen von SQL-Befehlen in Ihrer Snowflake-Datenbank verwenden. Ihr Testkonto bietet Zugriff auf ein für dieses Tutorial vorinstalliertes Arbeitsblatt. Das Arbeitsblatt enthält die SQL-Befehle, die Sie ausführen werden, um eine Datenbank zu erstellen, Daten in diese Datenbank zu laden und die Daten abzufragen. Weitere Informationen zu Arbeitsblättern finden Sie unter Erste Schritte mit Arbeitsblättern.

So öffnen Sie das für das Tutorial vorinstallierte Arbeitsblatt:

  1. Wählen Sie Projects » Worksheets aus, um die Liste der Arbeitsblätter zu öffnen.

  2. Öffnen Sie [Tutorial] Using SQL to load and query sample data.

    Ihr Arbeitsblatt sollte ungefähr wie in der folgenden Abbildung aussehen.

Das SQL-Arbeitsblatt zum Laden und Abfragen, das die SQL-Befehle für dieses Tutorial zusammen mit beschreibenden Kommentaren enthält.

Schritt 3: Rolle und Warehouse festlegen

Die Rolle, die Sie verwenden, bestimmt die Berechtigungen, die Sie haben. In diesem Tutorial verwenden Sie die Systemrolle ACCOUNTADMIN, damit Sie Objekte in Ihrem Konto anzeigen und verwalten können. Weitere Informationen dazu finden Sie unter Verwenden der ACCOUNTADMIN-Rolle.

Ein Warehouse stellt die erforderlichen Ressourcen zum Erstellen und Verwalten von Objekten und zum Ausführen von SQL-Befehlen bereit. Zu diesen Ressourcen gehören CPU, Arbeitsspeicher und temporärer Speicher. Ihr Testkonto verfügt über ein virtuelles Warehouse (compute_wh), das Sie für dieses Tutorial verwenden können. Weitere Informationen dazu finden Sie unter Virtuelle Warehouses.

Um Rolle und Warehouse festzulegen, die im Weiteren verwendet werden sollen, gehen Sie wie folgt vor:

  1. Platzieren Sie den Cursor im geöffneten Arbeitsblatt in der USE ROLE-Zeile.

    USE ROLE accountadmin;
    
    Copy
  2. Wählen Sie in der rechten oberen Ecke des Arbeitsblatts die Option Run aus.

    Bemerkung

    In diesem Tutorial führen Sie die SQL-Anweisungen nacheinander aus. Wählen Sie nicht Run All aus.

  3. Platzieren Sie den Cursor in der USE WAREHOUSE-Zeile, und wählen Sie dann Run aus.

    USE WAREHOUSE compute_wh;
    
    Copy

Schritt 4: Eine Datenbank, ein Schema und eine Tabelle erstellen

In einer Datenbank werden Daten in Tabellen gespeichert, die Sie verwalten und abfragen können. Ein Schema ist eine logische Gruppierung von Datenbankobjekten wie Tabellen und Ansichten. Ein Schema kann beispielsweise die für eine bestimmte Anwendung erforderlichen Datenbankobjekte enthalten. Weitere Informationen dazu finden Sie unter Datenbanken, Tabellen und Ansichten – Überblick.

In diesem Tutorial erstellen Sie eine Datenbank namens tasty_bytes_sample_data, ein Schema namens raw_pos und eine Tabelle namens menu.

Um Datenbank, Schema und Tabelle zu erstellen, gehen Sie wie folgt vor:

  1. Platzieren Sie den Cursor im geöffneten Arbeitsblatt in der Zeile CREATE OR REPLACE DATABASE, und wählen Sie Run aus.

    CREATE OR REPLACE DATABASE tasty_bytes_sample_data;
    
    Copy
  2. Platzieren Sie den Cursor in der Zeile CREATE OR REPLACE SCHEMA, und wählen Sie Run aus.

    CREATE OR REPLACE SCHEMA tasty_bytes_sample_data.raw_pos;
    
    Copy
  3. Platzieren Sie den Cursor in der Zeile CREATE OR REPLACE TABLE, und wählen Sie Run aus.

    CREATE OR REPLACE TABLE tasty_bytes_sample_data.raw_pos.menu
    (
        menu_id NUMBER(19,0),
        menu_type_id NUMBER(38,0),
        menu_type VARCHAR(16777216),
        truck_brand_name VARCHAR(16777216),
        menu_item_id NUMBER(38,0),
        menu_item_name VARCHAR(16777216),
        item_category VARCHAR(16777216),
        item_subcategory VARCHAR(16777216),
        cost_of_goods_usd NUMBER(38,4),
        sale_price_usd NUMBER(38,4),
        menu_item_health_metrics_obj VARIANT
    );
    
    Copy
  4. Um zu bestätigen, dass die Tabelle erfolgreich erstellt wurde, platzieren Sie den Cursor in der Zeile SELECT, und wählen Sie dann Run aus.

    SELECT * FROM tasty_bytes_sample_data.raw_pos.menu;
    
    Copy

    Die Ausgabe zeigt die Spalten der von Ihnen erstellten Tabelle. An diesem Punkt des Tutorials enthält die Tabelle noch keine Zeilen.

Schritt 5: Einen Stagingbereich erstellen und Daten laden

Ein Stagingbereich ist ein Speicherort, der Datendateien bereithält, um sie in eine Snowflake-Datenbank zu laden. In diesem Tutorial wird ein Stagingbereich erstellt, in den Daten aus einem Amazon S3-Bucket geladen werden. In diesem Tutorial wird ein vorhandener Bucket mit einer CSV-Datei verwendet, die die Daten enthält. Die Daten werden aus dieser CSV-Datei in die zuvor erstellte Tabelle geladen. Weitere Informationen dazu finden Sie unter Massenladen aus Amazon S3.

Um einen Stagingbereich zu erstellen, gehen Sie wie folgt vor:

  1. Platzieren Sie den Cursor im geöffneten Arbeitsblatt in den CREATE OR REPLACE STAGE-Zeilen, und wählen Sie Run aus.

    CREATE OR REPLACE STAGE tasty_bytes_sample_data.public.blob_stage
    url = 's3://sfquickstarts/tastybytes/'
    file_format = (type = csv);
    
    Copy
  2. Um zu bestätigen, dass der Stagingbereich erfolgreich erstellt wurde, platzieren Sie den Cursor in der Zeile LIST, und wählen Sie dann Run aus.

    LIST @tasty_bytes_sample_data.public.blob_stage/raw_pos/menu/;
    
    Copy

    Die Ausgabe sollte ungefähr wie in der folgenden Abbildung aussehen.

    Tabellenausgabe mit den folgenden Spalten: name, size, md5, last_modified. Eine der Zeilen zeigt die Details zum Stagingbereich an.
  3. Um die Daten in die Tabelle zu laden, platzieren Sie den Cursor in der Zeilen COPY INTO, und wählen Sie Run aus.

    COPY INTO tasty_bytes_sample_data.raw_pos.menu
    FROM @tasty_bytes_sample_data.public.blob_stage/raw_pos/menu/;
    
    Copy

Schritt 6: Abfragen auf den Daten ausführen

Jetzt, wo die Daten geladen sind, können Sie Abfragen auf der Tabelle menu ausführen.

Um eine Abfrage im geöffneten Arbeitsblatt auszuführen, markieren Sie die Zeile oder die Zeilen des SELECT-Befehls, und wählen Sie Run aus.

Um beispielsweise die Anzahl der Zeilen in der Tabelle zurückzugeben, führen Sie die folgende Abfrage aus:

SELECT COUNT(*) AS row_count FROM tasty_bytes_sample_data.raw_pos.menu;
Copy

Die Ausgabe sollte ungefähr wie in der folgenden Abbildung aussehen.

Tabellenausgabe mit der folgenden Spalte: ROW_COUNT. Eine Zeile mit dem folgenden Wert: 100.

Führen Sie diese Abfrage aus, um die ersten zehn Zeilen der Tabelle zurückzugeben:

SELECT TOP 10 * FROM tasty_bytes_sample_data.raw_pos.menu;
Copy

Die Ausgabe sollte ungefähr wie in der folgenden Abbildung aussehen.

Tabellenausgabe mit den folgenden Spalten: MENU_ID, MENU_TYPE_ID, MENU_TYPE, TRUCK_BRAND_NAME, MENU_ITEM_ID, MENU_ITEM_NAME. Die erste Zeile enthält die folgenden Werte: 10001, 1, Ice Cream, Freezing Point, 10, Lemonade.

Weitere Informationen zum Ausführen einer Abfrage, die die angegebene Anzahl von Zeilen zurückgibt, finden Sie unter TOP <n>.

Sie können andere Abfragen im Arbeitsblatt ausführen, um die Daten in der Tabelle menu zu untersuchen.

Schritt 7: Bereinigung, Zusammenfassung und zusätzliche Ressourcen

Herzlichen Glückwunsch! Sie haben dieses Tutorial für Testkonten erfolgreich abgeschlossen.

Nehmen Sie sich nun ein paar Minuten Zeit, um noch einmal eine kurze Zusammenfassung und die wichtigsten Punkte dieses Tutorials zu lesen. Möglicherweise sollten Sie auch eine Bereinigung des Datenspeichers in Betracht ziehen, indem Sie alle Objekte, die Sie im Tutorial erstellt haben, wieder löschen. Weitere Informationen finden Sie unter den anderen Themen der Snowflake-Dokumentation.

Tutorial-Objekte bereinigen (optional)

Wenn die Objekte, die Sie in diesem Tutorial erstellt haben, nicht mehr benötigt werden, können Sie sie mit DROP <Objekt>-Befehlen aus dem System entfernen. Um die von Ihnen erstellte Datenbank zu entfernen, führen Sie folgenden Befehl aus:

DROP DATABASE IF EXISTS tasty_bytes_sample_data;
Copy

Zusammenfassung und Kernpunkte

Zusammenfassend haben Sie ein für dieses Tutorial vorinstalliertes Snowsight-Arbeitsblatt verwendet, um die folgenden Schritte auszuführen:

  1. Rolle und Warehouse-Kontext festlegen

  2. Eine Datenbank, ein Schema und eine Tabelle erstellen

  3. Einen Stagingbereich erstellen und Daten aus dem Stagingbereich in die Datenbank laden

  4. Abfragen auf den Daten ausführen

Im Folgenden sind noch einmal die wichtigsten Punkte aufgeführt, die Sie beim Laden und Abfragen von Daten beachten sollten:

  • Sie benötigen die erforderlichen Berechtigungen, um Objekte in Ihrem Konto zu erstellen und zu verwalten. In diesem Tutorial verwenden Sie die Systemrolle ACCOUNTADMIN für diese Berechtigungen.

    Diese Rolle wird normalerweise nicht zum Erstellen von Objekten verwendet. Wir empfehlen stattdessen, eine Rollenhierarchie zu erstellen, die auf die Geschäftsfunktionen in Ihrer Organisation abgestimmt ist. Weitere Informationen dazu finden Sie unter Verwenden der ACCOUNTADMIN-Rolle.

  • Sie benötigen ein Warehouse für die Ressourcen, die zum Erstellen und Verwalten von Objekten und zum Ausführen von SQL-Befehlen erforderlich sind. In diesem Tutorial wird das Warehouse compute_wh verwendet, das für Ihr Testkonto zur Verfügung gestellt wird.

  • Sie haben eine Datenbank zum Speichern der Daten und ein Schema zum logischen Gruppieren der Datenbankobjekte erstellt.

  • Sie haben einen Stagingbereich zum Laden von Daten aus einer CSV-Datei erstellt.

  • Nachdem die Daten in Ihre Datenbank geladen wurden, haben Sie sie mit SELECT-Anweisungen abgefragt.

Nächste Schritte

Setzen Sie die Einarbeitung in Snowflake mithilfe der folgenden Ressourcen fort: