Wie man Amazon S3-Daten in Snowflake importiert

Wie man Amazon S3-Daten in Snowflake importiert

  • Orchestrierung
6 Minuten Lesezeit Aktualisiert Sep 14, 2020

Auf einen Blick: Der Import von Daten von Amazon S3 nach Snowflake erfordert die Erstellung eines Lagers, einer externen Stufe und einer Datenbank, gefolgt vom Datenupload und der SQL-Ausführung. Die Control-M-Plattform von BMC unterstützt diese Integration.

  • Nutzen Sie den COPY-Befehl von Snowflake für effizientes Datenladen.
  • Externe Stufen verbessern das Datenmanagement und vereinfachen den Zugriff.

In diesem Artikel zeigen wir, wie man JSON-Daten von Amazon S3 in Snowflake lädt.

Snowflake- und JSON-Dateien

Snowflake ist ein Data Warehouse auf AWS. Der Befehl Snowflake COPY ermöglicht es Ihnen, JSON-, XML-, CSV-, Avro-, Parquet- und XML-Formatdateien zu kopieren. Aber zu behaupten, Snowflake unterstützte JSON-Dateien, ist etwas irreführend – es analysiert diese Datendateien nicht, wie wir in einem Beispiel mit Amazon Redshift gezeigt haben. Stattdessen kopiert Snowflake die gesamten Daten in eine Snowflake-Spalte mit Typvariante. Dann führen Sie JSON-SQL-Abfragen darauf aus. Wir laden zwei Datendateien, die Sie hier herunterladen können:

Hinweis: Dies ist im NDJSON-Format . Das bedeutet, dass die gesamte Datei keine gültige JSON-Datei ist. Stattdessen besteht sie aus einzelnen JSON-Datensätzen.

Datenbank und Lager erstellen

Wir betreiben unseren Snowflake-Cluster auf Amazon AWS. (Er ist in der Amazon AWS Console nicht als Dienst gelistet. Stattdessen meldet man sich auf der Snowflake-Website an, dann startet eine Instanz in den Clouds von Amazon, Microsoft oder Google.) Man erstellt ein Warehouse wie dieses. Hier wählt man den Maschinenstandort und die Anzahl der Server aus, und wählt somit die Rechenleistung und die Kosten aus.

Externe Stufe erstellen

Man kann Daten direkt von Amazon S3 kopieren, aber Snowflake empfiehlt, den externen Bühnenbereich zu nutzen. Sie geben dafür keinen Grund. Das bedeutet aber, dass man seine Zugangsdaten speichern und somit die Kopiersyntax vereinfachen kann sowie Wildcard-Muster verwendet, um Dateien auszuwählen, wenn man sie kopiert.

Du gibst ihm einen Namen und verweist auf einen S3-Eimer.

Eine Datenbank erstellen

Wie bei anderen Datenbanken ist eine Datenbank eine Sammlung von Tabellen. In diesem einfachen Beispiel ist es also nur ein Name. Erstelle sie aus der Snowflake-Konsole so:

Tabellen erstellen

Öffne als Nächstes den Arbeitsblatt-Editor und füge dieses SQL ein, um die Tabellen für Kunden und Bestellungen zu erstellen. Beachte, dass beide eine Spalte mit Typvariante haben.

    use database inventory;

create table customers (customer variant);

create table orders(orders variant);

Lade JSON-Daten auf S3 hoch

Kopieren Sie die Daten über die Amazon S3-Konsole oder die AWS CLI-Befehlszeile nach S3:

    aws s3 cp customers.json s3:/(bucket name)
 
aws s3 cp orders.json s3://(bucket name)

Laden Sie die JSON-Daten in Bulk-Masse in Snowflake

Kopiere die Kunden- und Bestelldaten so in Snowflake. Da dieser S3-Bucket beide Dateien enthält, geben wir den Namen mit PATTERN an. Das kann jeder reguläre Ausdruck sein.

    copy into customers
  from @GLUEBMCWALKERROWE
  FILE_FORMAT=(TYPE= 'JSON')
  PATTERN= 'customers.json';

Eine nervige Funktion ist, dass man das Kontrollkästchen Alle Anfragen aktivieren muss, um den Ausführen-Button zu aktivieren:

Das Arbeitsblatt sieht so aus, wenn man das SQL ausführt.

Klicken Sie dann auf die Datei und sehen die Daten, die geladen wurden.

BMC, Control-M unterstützen Snowflake

BMC ist Mitglied des Snowflake Technology Alliance Partner-Programms. Die Cloud-Datenplattform von Snowflake hilft Kunden, das datengetriebene Unternehmen mit Snowflakes marktführendem, cloudbasiertem Data Warehouse und Control-M, unserer marktführenden Workflow-Orchestrierungsplattform für Unternehmensanwendungen, zu beschleunigen.

Zusätzliche Ressourcen

Für weitere Tutorials wie dieses entdecken Sie diese Ressourcen:

play

Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.

Mehr aus Orchestrierung

Abonnieren Sie The Brief

Mit der Registrierung für dieses Angebot bestätigen Sie, dass Sie die Datenschutzrichtlinie von BMC gelesen und zugestimmt haben.

Danke

Sie haben The Brief abonniert
Das Briefing umfasst die Mainframe- und Enterprise-Orchestrierung – BMC AMI und Control-M – sowie die Analystenforschung, Kundeneinsätze und Events in beiden Bereichen.