Inhaltsverzeichnis
Zwei der am weitesten verbreiteten Open-Source-Plattformen für diesen Zweck sind beispielsweise Apache Storm und Apache Spark, die beide einen sehr unterschiedlichen Ansatz für die Verarbeitung von Datenströmen verfolgen. Storm, wie Guavus SQLstream, IBM InfoSphere Streams und viele andere, sind echte Datensatz-für-Datensatz-Verarbeitungsmaschinen. Andere wie Apache Spark verfolgen einen anderen Ansatz und sammeln Ereignisse zur Verarbeitung in Stapeln. Ich habe hier die wichtigsten Überlegungen zusammengefasst, wenn es darum geht, welches Paradigma am besten geeignet ist. ParameterApache KafkaApache SparkEntwicklerUrsprünglich von LinkedIn entwickelt.
- Das Data-Streaming-Nanodegree-Programm bereitet Sie auf die neuesten Entwicklungen im Bereich der Datentechnik vor, da immer mehr Unternehmen versuchen, Live-Einblicke aus Daten in großem Umfang zu gewinnen.
- Das Datenstreaming bietet eine hohe Skalierbarkeit, die bei der Stapelverarbeitung eine Herausforderung darstellt.
- Vereinbaren Sie einen Termin für eine Demo, um zu erfahren, wie Sie Ihre Streaming-Data-Architektur der nächsten Generation aufbauen können, oder sehen Sie sich das Webinar an, um zu erfahren, wie es gemacht wird.
Das Data-Streaming-Nanodegree-Programm bereitet Sie auf die neuesten Entwicklungen im Bereich der Datentechnik vor, da immer mehr Unternehmen versuchen, Live-Einblicke aus Daten in großem Umfang zu gewinnen. Das Ziel dieses Kurses ist es, Ihr Fachwissen über die Komponenten von Streaming-Data-Systemen zu erweitern und eine Echtzeit-Analyseanwendung zu erstellen. Apache Storm erleichtert die zuverlässige Verarbeitung unbegrenzter Datenströme und leistet für die Echtzeitverarbeitung das, was Hadoop für die Stapelverarbeitung geleistet hat.
Die Komponenten Einer Streaming-architektur
Für einige Anwendungen wie einfache Zählungen und ETL in Hadoop ist dies in Ordnung, aber das Fehlen echter Datensatz-für-Datensatz-Prozesse macht Stream-Verarbeitung und Zeitreihenanalysen unmöglich. Upsolver ist eine Streaming-Data-Plattform, die Ereignisdaten verarbeitet und sie in Data Lakes, Data Warehouses, serverlose Plattformen, Elasticsearch und mehr einspeist, wodurch SQL-basierte Analysen sofort verfügbar werden. Upsolver ermöglicht auch Echtzeit-Analysen unter Verwendung von Verbrauchern mit niedriger Latenz, die parallel aus einem Kafka-Stream lesen. Vereinbaren Sie einen Termin für eine Demo, um zu erfahren, wie Sie Ihre Streaming-Data-Architektur der nächsten Generation aufbauen können, oder sehen Sie sich das Webinar an, um zu erfahren, wie es gemacht wird. Eine Streaming-Data-Architektur ist ein Rahmenwerk von Softwarekomponenten, das für die Aufnahme und Verarbeitung großer Mengen von Streaming-Daten aus verschiedenen Quellen entwickelt wurde. Es gibt zweifellos mehrere Ansätze für die Art und Weise, wie Systeme mit Echtzeitdaten umgehen, bevor sie in einer Datenbank gespeichert werden.
Spark ist eine schnelle und allgemeine Engine für die Verarbeitung großer Datenmengen und wurde entwickelt, um eine effizientere Alternative zu Hadoop MapReduce zu bieten. Spark Streaming bringt die sprachintegrierte API von Spark in die Stream-Verarbeitung ein, so dass Sie Streaming-Anwendungen auf die gleiche Weise schreiben können wie Batch-Jobs. Storm ist beispielsweise das älteste Framework, das als „echtes“ Stream-Verarbeitungssystem gilt, da jede Nachricht sofort nach ihrem Eintreffen verarbeitet wird (im Gegensatz zu Mini-Batches). Es bietet niedrige Latenzzeiten, obwohl es umständlich und schwierig sein kann, Logik für einige fortgeschrittene Operationen und Abfragen von Datenströmen zu schreiben. Apache Spark ist ein allgemeines Framework für die Verarbeitung großer Datenmengen, das viele verschiedene Programmiersprachen und Konzepte wie MapReduce, In-Memory-Verarbeitung, Stream-Verarbeitung, Graphenverarbeitung und maschinelles Lernen unterstützt. Daten können aus vielen Quellen wie Kafka, Flume, Kinesis oder TCP-Sockets eingespeist und mit komplexen Algorithmen verarbeitet werden, die mit High-Level-Funktionen wie Map, Reduce, Join und Window ausgedrückt werden.
#1 Stream-verarbeitung Versus Batch
Die Verarbeitung von Daten in der realen Welt ist eine chaotische Angelegenheit. Daten sind oft von schlechter Qualität, Datensätze können fehlen, und Datenströme treffen nicht in der richtigen Reihenfolge ein. Daten aus mehreren entfernten Quellen können gleichzeitig erzeugt werden, aber aufgrund von Netzwerk- oder anderen Problemen können sich einige Datenströme verzögern. Eine Folge der gespeicherten Stapelverarbeitung von Datenströmen ist, dass diese Echtzeitfaktoren nicht ohne weiteres berücksichtigt werden können, so dass es unmöglich oder bestenfalls teuer ist, fehlende Daten, Datenlücken, zeitlich verschobene Daten usw.