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.
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:
Sie haben einen unterstützten Browser.
Sie haben ein Testkonto. Wenn Sie noch kein Testkonto haben, können Sie sich für einen kostenlosen Testphase anmelden. Sie können eine beliebige Snowflake-Cloudregion wählen.
Ihr Benutzer ist der Kontoadministrator, der die Systemrolle ACCOUNTADMIN hat. Weitere Informationen dazu finden Sie unter Verwenden der ACCOUNTADMIN-Rolle.
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:
Navigieren Sie in einem unterstützten Webbrowser zu https://app.snowflake.com.
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.
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:
Wählen Sie Projects » Worksheets aus, um die Liste der Arbeitsblätter zu öffnen.
Öffnen Sie [Tutorial] Using SQL to load and query sample data.
Ihr Arbeitsblatt sollte ungefähr wie in der folgenden Abbildung aussehen.
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:
Platzieren Sie den Cursor im geöffneten Arbeitsblatt in der USE ROLE-Zeile.
USE ROLE accountadmin;
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.
Platzieren Sie den Cursor in der USE WAREHOUSE-Zeile, und wählen Sie dann Run aus.
USE WAREHOUSE compute_wh;
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:
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;
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;
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 );
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;
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:
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);
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/;
Die Ausgabe sollte ungefähr wie in der folgenden Abbildung aussehen.
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/;
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;
Die Ausgabe sollte ungefähr wie in der folgenden Abbildung aussehen.
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;
Die Ausgabe sollte ungefähr wie in der folgenden Abbildung aussehen.
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;
Zusammenfassung und Kernpunkte¶
Zusammenfassend haben Sie ein für dieses Tutorial vorinstalliertes Snowsight-Arbeitsblatt verwendet, um die folgenden Schritte auszuführen:
Rolle und Warehouse-Kontext festlegen
Eine Datenbank, ein Schema und eine Tabelle erstellen
Einen Stagingbereich erstellen und Daten aus dem Stagingbereich in die Datenbank laden
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:
Führen Sie die anderen von Snowflake bereitgestellten Tutorials durch:
Machen Sie sich mit den wichtigsten Konzepten und Funktionen von Snowflake sowie den SQL-Befehlen vertraut, mit denen Abfragen durchgeführt und Daten eingefügt bzw. aktualisiert werden:
Probieren Sie die „Tasty Bytes“-Quickstarts von Snowflake aus: