Elasticsearch Grundkurs

Daten über Bulk Insert speichern

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Damit Sie in Elasticsearch Daten möglichst schnell speichern können, bedarf es eines sogenannten Bulk Inserts. Was darunter verstanden wird und wie Sie einen solchen Bulk Insert durchführen, zeigt Ihnen dieser Film.

Transkript

Oftmals haben Sie eine große Menge an Datensätzen, die Sie gleichzeitig in Ihrer Datenbank, wie beispielsweise ElasticSearch, speichern möchten. ElasticSearch selbst ist nicht dafür optimiert, viele einzelne Abfragen schnell abzuspeichern. Aus diesem Grund gibt es für größere Datenmengen den Mechanismus des "Bulk Insert". Wie Sie sich diesen zu Nutze machen können, ist Gegenstand dieses Videos. Zunächst einmal beginne ich mit dem Import der für mich relevanten Bibliotheken. Als nächstes muss ich mir darüber im Klaren sein, wie ElasticSearch von mir erwartet, dass innerhalb eines Bulk Inserts die Datenstrukturen übergeben werden. ElasticSearch erwartet also einen großen Textblock, bei dem für jedes Dokument eine Angabe darüber existiert, in welchem Index es zu speichern ist, von welchem Typ es ist und welche ID es bekommen soll. Das bedeutet, pro Dokument habe ich nun genau zwei Zeilen, einerseits diese Zeile mit den Angaben, die den Speicherort beschreiben, als auch mein Dokument als solches. Anwenden werde ich diesen Mechanismus nun auf die 250 bestbewerteten Filme auf IMDB. Diese lade ich zunächst einmal herunter und baue im Arbeitsspeicher genau diese Struktur in Form eines Text-Strings auf. Hierfür verwende ich ein Referenzdokument, bei dem ich immer die Angabe habe, dass das Ganze im Index "movies" gespeichert werden soll und vom Typ "movie" ist. Als nächstes definiere ich meinen String, in dem all die Daten gespeichert werden sollen. Ich lade nun also für jeden identifizierten Film sein JSON-Objekt von der OMDb API herunter und kopiere das Referenzobjekt für jeden Film und setze den Index anhand der aktuellen Counter-Nummer, die hier die ID spezifiziert. Dann füge ich zu meinem Bulk Data String das ID-Objekt hinzu, das also nun von dieser Form ist, als auch das Objekt, das meinen Film spezifiziert, ähnlich dieser Form, getrennt durch die Angabe einer neuen Zeile, mit Backslash+N. Statt das Ganze nun direkt auf einen Index zu schreiben, nutze ich den Endpunkt "_bulk". Der große Vorteil dieser Operation ist nun, dass ElasticSearch einige der Optimierungen, die am Index vorgenommen werden beim Speichern eines Dokumentes, erst am Ende dieses Bulk Inserts ausführen muss. Führe ich nun dieses Skript aus, erhalte ich noch einmal eine Übersicht über die von mir gespeicherten Dokumente, und darüber, ob das jeweilige Dokument erfolgreich gespeichert werden konnte. Relativ schnell lässt sich dies anhand des Attributes "errors" erkennen. In meinem Fall wurden nun also alle 250 Dokumente korrekt gespeichert und eine Abfrage auf das erste Dokument beispielsweise funktioniert einwandfrei. Sie haben nun also gesehen, wie Sie größere Datenmengen schneller abspeichern können, dabei haben wir Index-Referenzen verwendet. Das bedeutet, dass innerhalb eines solchen Bulks mehr als nur ein Index angesprochen werden kann. Diesen Mechanismus würde man vor allem dann verwenden wollen, wenn die Applikation, die die Daten in ElasticSearch speichern will, größere Lastmengen besser abfedern kann, als ElasticSearch selbst. ElasticSearch als solches verwendet dann wenige redundante Operationen beim Speichern der einzelnen Felder und Dokumente in den jeweiligen Indizes.

Elasticsearch Grundkurs

Lernen Sie, Elasticsearch und seine Einsatzgebiete zu verstehen und mit der API zu interagieren.

2 Std. 19 min (23 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:23.02.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!