/ / wie man die riesigen History-Daten im Kafka-Thema mit Hilfe von Spark-Streaming besser verarbeiten kann - apache-kafka, spark-streaming

wie man die riesigen History-Daten im Kafka-Thema mit Hilfe von Spark-Streaming besser verarbeiten kann - apache-kafka, spark-streaming

Ich habe gerade ein Problem, Funkenströme auf einem wirklich großen Kafka-Thema zu starten, es gibt bereits 150 Millionen Daten in diesem Thema und das Thema wächst super schnell.

Als ich versuchte, Funken zu strömen und zu lesenDaten vom Anfang dieses Themas, indem Sie kafka Parameter ("auto.offset.reset" -> "kleinste") setzen, es immer versuchen, alle 150 Millionen Datenverarbeitung im ersten Stapel zu beenden und einen "java.lang.OutOfMemoryError: GC Overhead Limit überschritten "Fehler. Es gibt nicht viel Berechnung in dieser Funkenstrom-App obwohl.

Kann ich die Verlaufsdaten in diesem Thema in den ersten mehreren Stapeln verarbeiten, aber nicht alle im ersten Stapel?

Vielen Dank im Voraus! James

Antworten:

1 für die Antwort № 1

Sie können die Spark-Kafka-Eingangsleserate mit der folgenden Funkenkonfiguration steuern spark.streaming.kafka.maxRatePerPartition .

Sie können dies konfigurieren, indem Sie angeben, wie viele Dokumente pro Stapel verarbeitet werden sollen.

sparkConf.set("spark.streaming.kafka.maxRatePerPartition","<docs-count>")

Über dem Konfigurationsprozess <docs-count>*<batch_interval> Datensätze pro Batch.

Sie können mehr Informationen über die obige Konfiguration finden Hier.