Zephyrnet-Logo

Stellen Sie Daten mit Low-Code-Datenpipelines von Upsolver, Amazon Redshift Streaming Ingestion und Amazon Redshift Serverless in Sekundenschnelle für die Analyse zur Verfügung

Datum:

Amazon RedShift ist das am weitesten verbreitete Cloud Data Warehouse. Amazon Redshift macht es einfach und kostengünstig, Analysen großer Datenmengen durchzuführen. Amazon Redshift gestartet Streaming-Aufnahme für Amazon Kinesis-Datenströme, wodurch Sie Daten mit geringer Latenz in Amazon Redshift laden können, ohne die Daten bereitstellen zu müssen Amazon Simple Storage-Service (Amazon S3). Mit dieser neuen Funktion können Sie Berichte und Dashboards erstellen und Analysen mit aktuellen und aktuellen Daten durchführen, ohne benutzerdefinierten Code verwalten zu müssen, der regelmäßig neue Daten lädt.

Auflöser ist ein AWS Advanced Technology Partner, der es Ihnen ermöglicht, Daten aus einer Vielzahl von Quellen aufzunehmen, sie umzuwandeln und die Ergebnisse in das Ziel Ihrer Wahl zu laden, z. B. Kinesis Data Streams und Amazon Redshift. Datenanalysten, Ingenieure und Datenwissenschaftler definieren ihre Transformationslogik mithilfe von SQL, und Upsolver automatisiert die Bereitstellung, Planung und Wartung der Datenpipeline. Es sind vereinfachte Pipeline-Operationen!

Es gibt mehrere Möglichkeiten, Daten an Amazon Redshift zu streamen, und in diesem Beitrag behandeln wir zwei Optionen, bei denen Upsolver Ihnen helfen kann: Erstens zeigen wir Ihnen, wie Sie Upsolver so konfigurieren, dass Ereignisse per Streaming an Kinesis Data Streams gestreamt werden, die von Amazon Redshift verwendet werden Einnahme. Zweitens zeigen wir, wie Sie Ereignisdaten in Ihren Data Lake schreiben und verwenden Amazon Redshift ohne Server So können Sie in wenigen Minuten von rohen Ereignissen zu analysebereiten Datensätzen wechseln.

Voraussetzungen:

Bevor Sie beginnen, müssen Sie Upsolver installieren. Du kannst Melden Sie sich bei Upsolver an und stellen Sie es direkt in Ihrer VPC bereit, um sicher auf Kinesis Data Streams und Amazon Redshift zuzugreifen.

Konfigurieren Sie Upsolver so, dass Ereignisse an Kinesis Data Streams gestreamt werden

Das folgende Diagramm stellt die Architektur zum Schreiben von Ereignissen in Kinesis Data Streams und Amazon Redshift dar.

Um diese Lösung zu implementieren, führen Sie die folgenden allgemeinen Schritte aus:

  1. Konfigurieren Sie den Kinesis-Quelldatenstrom.
  2. Führen Sie die Datenpipeline aus.
  3. Erstellen Sie ein externes Amazon Redshift-Schema und eine materialisierte Ansicht.

Konfigurieren Sie den Kinesis-Quelldatenstrom

Für die Zwecke dieses Beitrags erstellen Sie eine Amazon S3-Datenquelle, die Einzelhandelsbeispieldaten im JSON-Format enthält. Upsolver nimmt diese Daten als Stream auf; Wenn neue Objekte ankommen, werden sie automatisch aufgenommen und an das Ziel gestreamt.

  1. Wählen Sie in der Upsolver-Konsole Datenquellen in der Navigationsleiste.
  2. Auswählen Neu.
  3. Wählen Sie Amazon S3 als Ihre Datenquelle.
  4. Aussichten für Eimer, können Sie den Bucket mit dem öffentlichen Dataset oder einen Bucket mit Ihren eigenen Daten verwenden.
  5. Auswählen Fortfahren um die Datenquelle zu erstellen.
  6. Erstellen Sie einen Datenstrom in Kinesis Data Streams, wie im folgenden Screenshot gezeigt.

Dies ist der Ausgabestrom, den Upsolver verwendet, um Ereignisse zu schreiben, die von Amazon Redshift verwendet werden.

Als Nächstes erstellen Sie eine Kinesis-Verbindung in Upsolver. Durch das Erstellen einer Verbindung können Sie die von Upsolver verwendete Authentifizierungsmethode definieren – zum Beispiel eine AWS Identity and Access Management and (IAM)-Zugriffsschlüssel und geheimer Schlüssel oder eine IAM-Rolle.

  1. Wählen Sie in der Upsolver-Konsole Mehr in der Navigationsleiste.
  2. Auswählen Verbindungen.
  3. Auswählen Neue Verbindung.
  4. Auswählen Amazon Kinesis.
  5. Aussichten für Region, geben Sie Ihre AWS-Region ein.
  6. Aussichten für Name und Vorname, geben Sie einen Namen für Ihre Verbindung ein (für diesen Beitrag nennen wir sie upsolver_redshift).
  7. Auswählen Erstellen.

Bevor Sie die Ereignisse in Amazon Redshift nutzen können, müssen Sie sie in den ausgegebenen Kinesis-Datenstrom schreiben.

  1. Navigieren Sie in der Upsolver-Konsole zu Ausgänge und wählen Sie Kinesis.
  2. Aussichten für Datenquellen, wählen Sie die Kinesis-Datenquelle aus, die Sie im vorherigen Schritt erstellt haben.
  3. Abhängig von der Struktur Ihrer Ereignisdaten haben Sie zwei Möglichkeiten:
    1. Wenn die Ereignisdaten, die Sie in die Ausgabe schreiben, keine verschachtelten Felder enthalten, wählen Sie aus Tabellarisch. Upsolver flacht verschachtelte Daten automatisch für Sie ab.
    2. Um Ihre Daten in einem verschachtelten Format zu schreiben, wählen Sie Hierarchisch.
  4. Da wir mit Kinesis Data Streams arbeiten, wählen Sie Hierarchisch.

Führen Sie die Datenpipeline aus

Nachdem der Stream nun von der Quelle mit einem Ausgang verbunden ist, müssen Sie auswählen, welche Felder des Quellereignisses Sie durchlaufen möchten. Sie können auch Transformationen auf Ihre Daten anwenden, z. B. durch Hinzufügen korrekter Zeitstempel, Maskieren vertraulicher Werte und Hinzufügen berechneter Felder. Weitere Informationen finden Sie unter Kurzanleitung: SQL-Datentransformation.

Nachdem Sie die Spalten hinzugefügt haben, die Sie in die Ausgabe einbeziehen möchten, und Transformationen angewendet haben, wählen Sie aus Führen Sie um die Datenpipeline zu starten. Wenn neue Ereignisse in der Quelle eintreffen, wandelt Upsolver sie automatisch um und leitet die Ergebnisse an den Ausgabestrom weiter. Es besteht keine Notwendigkeit, die Pipeline zu planen oder zu orchestrieren; es ist immer an.

Erstellen Sie ein externes Amazon Redshift-Schema und eine materialisierte Ansicht

Erstellen Sie zunächst eine IAM-Rolle mit den entsprechenden Berechtigungen (weitere Informationen finden Sie unter Streaming-Aufnahme). Jetzt können Sie den Amazon Redshift-Abfrage-Editor, die AWS-Befehlszeilenschnittstelle (AWS CLI) oder die API verwenden, um die folgenden SQL-Anweisungen auszuführen.

  1. Erstellen Sie ein externes Schema, das von Kinesis Data Streams unterstützt wird. Der folgende Befehl erfordert, dass Sie die zuvor erstellte IAM-Rolle einschließen:
    CREATE EXTERNAL SCHEMA upsolver
    FROM KINESIS
    IAM_ROLE 'arn:aws:iam::123456789012:role/redshiftadmin';

  2. Erstellen Sie eine materialisierte Ansicht, mit der Sie eine SELECT-Anweisung für die von Upsolver erzeugten Ereignisdaten ausführen können:
    CREATE MATERIALIZED VIEW mv_orders AS
    SELECT ApproximateArrivalTimestamp, SequenceNumber, json_extract_path_text(from_varbyte(Data, 'utf-8'), 'orderId') as order_id, json_extract_path_text(from_varbyte(Data, 'utf-8'), 'shipmentStatus') as shipping_status
    FROM upsolver.upsolver_redshift;

  3. Weisen Sie Amazon Redshift an, die Ergebnisse in einer Tabelle namens zu materialisieren mv_orders:
    REFRESH MATERIALIZED VIEW mv_orders;

  4. Sie können jetzt Abfragen für Ihre Streaming-Daten ausführen, z. B. die folgenden:
    SELECT * FROM mv_orders;

Verwenden Sie Upsolver, um Daten in einen Data Lake zu schreiben und sie mit Amazon Redshift Serverless abzufragen

Das folgende Diagramm stellt die Architektur dar, um Ereignisse in Ihren Data Lake zu schreiben und die Daten mit Amazon Redshift abzufragen.

Um diese Lösung zu implementieren, führen Sie die folgenden allgemeinen Schritte aus:

  1. Konfigurieren Sie den Kinesis-Quelldatenstrom.
  2. Stellen Sie eine Verbindung zum AWS Glue-Datenkatalog her und aktualisieren Sie die Metadaten.
  3. Fragen Sie den Data Lake ab.

Konfigurieren Sie den Kinesis-Quelldatenstrom

Wir haben diesen Schritt bereits früher in diesem Beitrag ausgeführt, sodass Sie nichts anderes tun müssen.

Stellen Sie eine Verbindung zum AWS Glue-Datenkatalog her und aktualisieren Sie die Metadaten

Führen Sie die folgenden Schritte aus, um die Metadaten zu aktualisieren:

  1. Wählen Sie in der Upsolver-Konsole Mehr in der Navigationsleiste.
  2. Auswählen Verbindungen.
  3. Wähle die AWS-Kleber Data Catalog-Verbindung.
  4. Aussichten für Region, geben Sie Ihre Region ein.
  5. Aussichten für Name und Vorname, geben Sie einen Namen ein (für diesen Beitrag nennen wir ihn redshift serverless).
  6. Auswählen Erstellen.
  7. Erstellen Sie eine Redshift Spectrum-Ausgabe, indem Sie denselben Schritten wie zuvor in diesem Beitrag folgen.
  8. Auswählen Tabellarisch während wir die Ausgabe in tabellenformatierten Daten an Amazon Redshift schreiben.
  9. Ordnen Sie die Datenquellenfelder der Redshift Spectrum-Ausgabe zu.
  10. Auswählen Führen Sie.
  11. Auf der Amazon Redshift-Konsole Erstellen Sie einen Amazon Redshift Serverless-Endpunkt.
  12. Stellen Sie sicher, dass Sie Ihre Upsolver-Rolle Amazon Redshift Serverless zuordnen.
  13. Wenn der Endpunkt gestartet wird, öffnen Sie den neuen Amazon Redshift-Abfrage-Editor, um ein externes Schema zu erstellen, das auf den AWS Glue-Datenkatalog verweist (siehe folgenden Screenshot).

Auf diese Weise können Sie Abfragen für Daten ausführen, die in Ihrem Data Lake gespeichert sind.

Fragen Sie den Data Lake ab

Jetzt, da Ihre Upsolver-Daten automatisch in Ihren Data Lake geschrieben und gepflegt werden, können Sie sie mit Ihrem bevorzugten Tool und dem Amazon Redshift-Abfrage-Editor abfragen, wie im folgenden Screenshot gezeigt.

Zusammenfassung

In diesem Beitrag haben Sie gelernt, wie Sie Upsolver verwenden, um Ereignisdaten mithilfe von Streaming-Aufnahme für Kinesis Data Streams in Amazon Redshift zu streamen. Sie haben auch gelernt, wie Sie Upsolver verwenden können, um den Stream in Ihren Data Lake zu schreiben und ihn mit Amazon Redshift Serverless abzufragen.

Upsolver vereinfacht den Aufbau von Datenpipelines mit SQL und automatisiert die Komplexität von Pipeline-Management, -Skalierung und -Wartung. Mit Upsolver und Amazon Redshift können Sie Daten schnell und einfach in Echtzeit analysieren.

Wenn Sie Fragen haben oder diese Integration diskutieren oder andere Anwendungsfälle untersuchen möchten, beginnen Sie das Gespräch in unserer Upsolver-Community Schlafkanal.


Über die Autoren

Roy Hasson ist Produktleiter bei Upsolver. Er arbeitet weltweit mit Kunden zusammen, um den Aufbau, die Verwaltung und den Einsatz von Datenpipelines zu vereinfachen, um qualitativ hochwertige Daten als Produkt bereitzustellen. Zuvor war Roy ein Profi
duct Manager für AWS Glue und AWS Lake Formation.

Mei Lang ist Produktmanager bei Upsolver. Sie hat es sich zur Aufgabe gemacht, Daten in der Cloud zugänglich, nutzbar und verwaltbar zu machen. Zuvor spielte Mei eine entscheidende Rolle bei der Zusammenarbeit mit den Teams, die zu den Projekten Apache Hadoop, Spark, Zeppelin, Kafka und Kubernetes beigetragen haben.

Maneesh Sharma ist Senior Database Engineer bei AWS mit mehr als einem Jahrzehnt Erfahrung in der Entwicklung und Implementierung umfangreicher Data Warehouse- und Analyselösungen. Er arbeitet mit verschiedenen Amazon Redshift-Partnern und Kunden zusammen, um eine bessere Integration voranzutreiben.

spot_img

Neueste Intelligenz

spot_img