2017-09-28 2 views
0

Quelqu'un peut-il expliquer comment fonctionne-t agrégations sont effectuées en temps réel des flux de données en utilisant les grandes technologies de données comme la tempête, étincelle, etc .. Il est non significatif pour le calcul des données à la vapeur, sous forme de données continue à couleragrégations sur en temps réel des données en streaming

Répondre

0

En streaming, les données vont continuellement streamer. Donc d'abord, nous devons accumuler des données. Pour cela nous utilisons window. Nous regroupons d'abord les données par fenêtre où nous spécifions la colonne de temps et l'heure. Spark accumulera des données pour un temps donné, puis nous appliquerons l'agrégation aux données groupées. Par exemple

import spark.implicits._ 

val words = ... // streaming DataFrame of schema { timestamp: Timestamp, word: String } 

// Group the data by window and word and compute the count of each group 
val windowedCounts = words.groupBy(
    window($"timestamp", "10 seconds"), 
    $"word" 
).count() 

Pour la compréhension complète de l'agrégation de streaming refer

0

La plupart des cadres de soutien continu « fenêtre » qui recueille tuples (événements) dans une fenêtre et la présente à agréger. La fenêtre et la fenêtre coulissante sont largement supportées, et les unités de fenêtre sont comptées (tuples) et le temps.

Vous pouvez consulter ci-dessous les liens pour avoir une idée des concepts pour la fenêtre:

https://www.oreilly.com/ideas/the-world-beyond-batch-streaming-101 https://www.oreilly.com/ideas/the-world-beyond-batch-streaming-102

Vous pouvez calculer l'agrégation sur tuples pour les dernières N minutes (peut être secondes, heures, environ) par fenêtrage. Vous pouvez ressentir l'opération comme un batching, et oui vous pouvez aussi le faire en poussant des tuples vers le stockage externe et faire des agrégations avec des frameworks batch. Normalement, l'agrégation dans les frameworks par lots fonctionnera plus efficacement (l'agrégation est orientée par lots), mais l'agrégation sur le framework de streaming à la volée ne nécessite pas de stockage externe (si la fenêtre est en mémoire) et doesn ' t nécessitent des structures de traitement par lots supplémentaires pour ce faire.