Wie man Daten über Airbyte in Elasticsearch einliest

Verwendung von Airbyte zum Einlesen von Daten in Elasticsearch. Wir werden die Voraussetzungen, die Airbyte-Konfiguration und die schrittweise Integration behandeln.

Mit Elasticsearch können Sie Daten schnell und flexibel indexieren. Testen Sie es kostenlos in der Cloud oder führen Sie es lokal aus, um zu erfahren, wie einfach die Indizierung sein kann.

Airbyte ist ein Datenintegrationstool, mit dem Sie Informationen aus verschiedenen Quellen automatisiert und skalierbar an unterschiedliche Ziele übertragen können. Es ermöglicht Ihnen, Daten aus APIs, Datenbanken und anderen Systemen zu extrahieren und in Plattformen wie Elasticsearch zu laden, die eine erweiterte Suche und effiziente Analyse bieten.

In diesem Artikel erklären wir, wie Sie Airbyte für die Datenaufnahme in Elasticsearch konfigurieren. Dabei gehen wir auf wichtige Konzepte, Voraussetzungen und die schrittweise Integration ein.

Grundkonzepte von Airbyte

Airbyte basiert auf mehreren grundlegenden Nutzungskonzepten. Im Folgenden heben wir die wichtigsten hervor:

  • Quellen: Definiert den Ursprung der zu extrahierenden Daten.
  • Ziele: Definiert, wohin die Daten gesendet und gespeichert werden.
  • Verbindungen: Konfiguriert die Beziehung zwischen Quelle und Ziel, einschließlich der Synchronisierungsfrequenz.

Airbyte-Integration mit Elasticsearch

In dieser Demonstration führen wir eine Integration durch, bei der Daten, die in einem S3-Bucket gespeichert sind, in einen Elasticsearch-Index migriert werden. Wir zeigen Ihnen, wie Sie die Quelle (S3) und das Ziel (Elasticsearch) in Airbyte konfigurieren.

Voraussetzungen

Um dieser Demonstration folgen zu können, müssen folgende Voraussetzungen erfüllt sein:

  1. Erstellen Sie einen Bucket in AWS, in dem die JSON-Dateien mit den Daten gespeichert werden.
  2. Installieren Sie Airbyte lokal mit Docker.
  3. Erstellen Sie einen Elasticsearch-Cluster in Elastic Cloud, um die aufgenommenen Daten zu speichern.

Im Folgenden werden wir jeden dieser Schritte detailliert beschreiben.

Airbyte installieren

Airbyte kann lokal mit Docker oder in der Cloud ausgeführt werden, wobei mit der Nutzung Kosten verbunden sind. Für diese Demonstration verwenden wir die lokale Version mit Docker.

Die Installation kann einige Minuten dauern. Nach Befolgung der Installationsanweisungen ist Airbyte unter folgender Adresse erreichbar: http://localhost:8000.

Nach dem Einloggen können wir mit der Konfiguration der Integration beginnen.

Erstellen des Buckets

In diesem Schritt benötigen Sie ein AWS-Konto, um einen S3-Bucket zu erstellen. Darüber hinaus ist es unerlässlich, die korrekten Berechtigungen festzulegen, indem eine Richtlinie und ein IAM-Benutzer erstellt werden, um den Zugriff auf den Bucket zu ermöglichen.

In den Bucket laden wir JSON-Dateien mit verschiedenen Log-Einträgen hoch, die später zu Elasticsearch migriert werden. Die Dateiprotokolle haben folgenden Inhalt:

Nachfolgend sind die in den Bucket geladenen Dateien aufgeführt:

Elastic Cloud-Konfiguration

Um die Demonstration zu vereinfachen, verwenden wir Elastic Cloud. Falls Sie noch kein Konto besitzen, können Sie hier ein kostenloses Testkonto erstellen: Elastic Cloud-Registrierung.

Nach der Konfiguration der Bereitstellung in Elastic Cloud benötigen Sie Folgendes:

  • Die URL des Elasticsearch-Servers.
  • Ein Benutzer, der auf Elasticsearch zugreifen kann.

Um die URL zu erhalten, gehen Sie zu Deployments > My deployment, suchen Sie unter Anwendung nach Elasticsearch und klicken Sie auf 'Endpunkt kopieren'.

Um den Benutzer anzulegen, befolgen Sie die folgenden Schritte:

  1. Zugriff auf Kibana > Stack-Management > Benutzer.
  2. Erstellen Sie einen neuen Benutzer mit der Rolle des Superusers.
  3. Füllen Sie die Felder aus, um den Benutzer zu erstellen.

Nachdem wir nun alles eingerichtet haben, können wir mit der Konfiguration der Konnektoren in Airbyte beginnen.

Quellanschluss konfigurieren

In diesem Schritt erstellen wir den Quellkonnektor für S3. Dazu rufen wir die Airbyte-Benutzeroberfläche auf und wählen im Menü die Option „Quelle“ aus. Als Nächstes suchen wir nach dem S3-Anschluss. Im Folgenden beschreiben wir die erforderlichen Schritte zur Konfiguration des Konnektors:

  1. Öffnen Sie Airbyte und gehen Sie zum Menü „Quellen“.
  2. Suchen und wählen Sie den S3-Anschluss aus.
  3. Konfigurieren Sie die folgenden Parameter:
    1. Quellname: Geben Sie einen Namen für die Datenquelle an.
    2. Zustellungsmethode: Datensätze replizieren (empfohlen für strukturierte Daten).
    3. Datenformat: Wählen Sie das JSON-Format.
    4. Stream-Name: Definieren Sie den Namen des Index in Elasticsearch.
    5. Bucket-Name: Geben Sie den Namen des Buckets in AWS ein.
    6. AWS-Zugriffsschlüssel und AWS-Geheimschlüssel: Geben Sie die Zugangsdaten ein.

Klicken Sie auf „Quelle einrichten“ und warten Sie auf die Validierung.

Konfigurationszielkonnektor

In diesem Schritt konfigurieren wir den Zielkonnektor, und zwar Elasticsearch. Dazu rufen wir das Menü auf und wählen die Option „Ziel“. Anschließend suchen wir nach Elasticsearch und klicken auf das angezeigte Ergebnis. Nun fahren wir mit der Konfiguration dieser Verbindung fort:

  1. Öffnen Sie Airbyte und gehen Sie zum Menü „Ziele“.
  2. Suchen und wählen Sie den Elasticsearch-Connector aus.
  3. Konfigurieren Sie die folgenden Parameter:
    1. Authentifizierungsmethode: Benutzername/Passwort auswählen.
    2. Benutzername und Passwort: Verwenden Sie die in Kibana erstellten Zugangsdaten.
    3. Server-Endpunkt: Fügen Sie die aus Elastic Cloud kopierte URL ein.

Klicken Sie auf „Ziel einrichten“ und warten Sie auf die Bestätigung.

Erstellen der Quell- und Zielverbindung

Sobald Quelle und Ziel erstellt sind, wird die Verbindung zwischen ihnen hergestellt, womit die Integration abgeschlossen ist.

Nachfolgend finden Sie die Anweisungen zum Herstellen der Verbindung:

1. Im Menü gehen Sie zu Verbindungen und klicken Sie auf Erste Verbindung erstellen.

2. Im nächsten Bildschirm können Sie eine bestehende Quelle auswählen oder eine neue erstellen. Da wir bereits eine Quelle erstellt haben, wählen wir Quelle S3 aus.

3. Im nächsten Schritt muss das Reiseziel ausgewählt werden. Da wir den Elasticsearch-Connector bereits erstellt haben, wird dieser zur Vervollständigung der Konfiguration ausgewählt.

Im nächsten Schritt muss der Synchronisierungsmodus und das zu verwendende Schema definiert werden. Da nur das Protokollschema erstellt wurde, ist dies die einzige auswählbare Option.

4. Wir fahren nun mit dem Schritt „Verbindung konfigurieren“ fort. Hier können wir den Namen der Verbindung und die Häufigkeit der Integrationsausführung festlegen. Die Frequenz kann auf drei Arten konfiguriert werden:

  • Cron: Führt die Synchronisierungen gemäß dem benutzerdefinierten Cron-Ausdruck aus (z. B. 0 0 15 * * ?, Jeden Tag um 15:00 Uhr);
  • Geplant: Führt die Synchronisierungen im angegebenen Zeitintervall aus (z. B. alle 24 Stunden, alle 2 Stunden);
  • Manuell: Synchronisierungen manuell ausführen.

Für diese Demonstration wählen wir die Option „Manuell“.

Durch Klicken auf „Verbindung einrichten“ wird abschließend die Verbindung zwischen Quelle und Ziel hergestellt.

Synchronisierung von Daten von S3 zu Elasticsearch

Wenn Sie zum Bildschirm „Verbindungen“ zurückkehren, können Sie die erstellte Verbindung sehen. Um den Vorgang auszuführen, klicken Sie einfach auf Synchronisieren. Ab diesem Zeitpunkt beginnt die Migration der Daten von S3 zu Elasticsearch.

Wenn alles reibungslos verläuft, erhalten Sie den Synchronisierungsstatus.

Datenvisualisierung in Kibana

Nun werden wir zu Kibana wechseln, um die Daten zu analysieren und zu überprüfen, ob sie korrekt indiziert wurden. Im Abschnitt „Kibana Discovery“ erstellen wir eine Datenansicht namens „logs“. Damit können wir die Daten untersuchen, die nur im Protokollindex vorhanden sind, der nach der Synchronisierung erstellt wurde.

Nun können wir die indizierten Daten visualisieren und Analysen daran durchführen. Auf diese Weise haben wir den gesamten Migrationsablauf mit Airbyte validiert, wo wir die im Bucket vorhandenen Daten geladen und in Elasticsearch indiziert haben.

Fazit: Integration von Airbyte und Elasticsearch

Airbyte erwies sich als effizientes Werkzeug zur Datenintegration, mit dem wir mehrere Quellen und Ziele automatisiert verbinden konnten. In diesem Tutorial haben wir gezeigt, wie man Daten aus einem S3-Bucket in einen Elasticsearch-Index einliest, und dabei die wichtigsten Schritte des Prozesses hervorgehoben.

Dieser Ansatz erleichtert die Aufnahme großer Datenmengen und ermöglicht Analysen innerhalb von Elasticsearch, wie z. B. komplexe Suchvorgänge, Aggregationen und Datenvisualisierungen.

Referenzen

Quickstart Airbyte:

https://docs.airbyte.com/using-airbyte/getting-started/oss-quickstart#part-1-install-abctl

Kernkonzepte:

https://docs.airbyte.com/using-airbyte/core-concepts/

Häufige Fragen

Was ist Airbyte?

Airbyte ist ein Datenintegrationstool, mit dem Sie Informationen aus verschiedenen Quellen automatisiert und skalierbar an unterschiedliche Ziele übertragen können.

Zugehörige Inhalte

Sind Sie bereit, hochmoderne Sucherlebnisse zu schaffen?

Eine ausreichend fortgeschrittene Suche kann nicht durch die Bemühungen einer einzelnen Person erreicht werden. Elasticsearch wird von Datenwissenschaftlern, ML-Ops-Experten, Ingenieuren und vielen anderen unterstützt, die genauso leidenschaftlich an der Suche interessiert sind wie Sie. Lasst uns in Kontakt treten und zusammenarbeiten, um das magische Sucherlebnis zu schaffen, das Ihnen die gewünschten Ergebnisse liefert.

Probieren Sie es selbst aus