Apache Beam: Umgang mit der Dimensionsreduzierung für große Datensätze

Autor: Zen und die Kunst der Computerprogrammierung

1. Einleitung

Apache Beam ist ein Open-Source-Framework für verteiltes Computing, das das Entwickeln, Testen und Bereitstellen von Echtzeit-Streaming-Datenverarbeitungspipelines mit unbegrenzter Kapazität erleichtert. Das Projekt wurde im Januar 2016 als Inkubatorprojekt gestartet und ist seit September 2017 ein Apache-Top-Level-Projekt. Beam ermöglicht Entwicklern die einfache Erstellung, Ausführung und Wartung verteilter Datenverarbeitungspipelines, bietet ein einheitliches Programmiermodell und Skalierbarkeit und kann Analysten dabei helfen, verborgene Muster und Zusammenhänge aus riesigen Datenmengen zu entdecken. Heute ist Beam auf der ganzen Welt weit verbreitet, unter anderem bei Technologieunternehmen, Regierungsbehörden, Banken, Einzelhändlern usw., und erweitert aktiv das Beam-Ökosystem. In diesem Artikel wird die Dimensionsreduktionsmethode von Beam zur Verarbeitung großer Datenmengen anhand von Beispielen beschrieben und ein Blick auf die zukünftige Entwicklungsrichtung geworfen.

2. Erläuterung grundlegender Konzepte und Begriffe

Apache Beam

Apache Beam ist ein Open-Source-Framework für verteiltes Computing, das ein leichtes Programmiermodell zum Aufbau von Datenverarbeitungspipelines bietet und es Entwicklern ermöglicht, schnell Echtzeit-Streaming-Datenverarbeitung zu implementieren, ohne die Details des zugrunde liegenden Computing-Frameworks zu kennen. Beam bietet drei Hauptkomponenten:

  • Pipeline-API: Bietet eine Schnittstelle zum Definieren und Ausführen verteilter Datenverarbeitungspipelines.
  • Läufer: Verantwortlich für den Betrieb der Pipeline bei gleichzeitiger Optimierung der Ressourcennutzung, z. B. Cloud-Computing-Plattformen oder lokale Computercluster;
  • SDKs: Werden zur Unterstützung mehrerer Sprachen verwendet, darunter Java, Python und Go.

    Konzepte und Terminologie

    Streaming-Daten

    Streaming-Daten beziehen sich auf Daten, die im Laufe der Zeit generiert werden, wie z. B. Byteströme bei der Netzwerkübertragung, Transaktionsaufzeichnungen an der Börse, Maschinenprotokolle usw. Seine Besonderheit besteht darin, die Daten sofort nach der Erfassung zu verarbeiten, ohne darauf zu warten, dass der gesamte Datensatz als Ganzes eintrifft.

    Verteiltes Rechnen

    Verteiltes Rechnen

Guess you like

Origin blog.csdn.net/universsky2015/article/details/131908145