structured-streaming

___ tag123scala ___ Scala ist eine universelle Programmiersprache, die hauptsächlich auf die Java Virtual Machine abzielt. Entwickelt, um gängige Programmiermuster in einer prägnanten, eleganten und typsicheren Weise auszudrücken, vereint es sowohl imperative als auch funktionale Programmierstile. Seine Hauptmerkmale sind: fortgeschrittenes statisches System mit Typinferenz; Funktionstypen; Muster-Matching; implizite Parameter und Konvertierungen; Überlastung des Bedieners; volle Interoperabilität mit Java; Nebenläufigkeit ___ tag123apachespark ___ Apache Spark ist eine Open-Source-Bibliothek für die verteilte Datenverarbeitung für groß angelegte In-Memory-Datenanalyse-Computing. ___ answer44444864 ___

Wenn Sie mehr Daten an Kafka senden, sollte Spark eine Ausgabe auslösen. Das aktuelle Verhalten ist total wegen der internen Implementierung.

Wenn Sie einige Daten übertragen, generiert StreamingQuery einen auszuführenden Stapel. Wenn dieser Stapel abgeschlossen ist, wird die maximale Ereigniszeit in diesem Stapel gespeichert. Dann in der nächsten Charge, Da Sie %code% mode verwenden, verwendet StreamingQuery die maximale Ereigniszeit und das Wasserzeichen, um alte Werte aus StateStore zu entfernen und auszugeben. Daher müssen Sie sicherstellen, dass mindestens zwei Stapel generiert werden, damit die Ausgabe angezeigt wird.

    
___ answer45579219 ___

Hier ist meine beste Schätzung:

Append-Modus gibt nur die Daten aus, nachdem das Wasserzeichen abgelaufen ist (z. B. in diesem Fall 1 Minute später). Sie haben keinen Trigger festgelegt (z. B. %code% ). Standardmäßig werden die Stapel so schnell wie möglich ausgegeben. Also sollten in der ersten Minute alle Ihre Chargen leer sein, und die erste Charge nach einer Minute sollte etwas Inhalt enthalten.

Eine andere Möglichkeit ist, dass Sie %code% anstelle von %code% verwenden. Ich glaube, Wasserzeichen sollen mit Zeitfenstern oder mapGroupsWithState verwendet werden, also bin ich nicht so, wie die Interaktion in diesem Fall funktioniert.

    
___ qstntxt ___

Ich benutze Spark 2.2.0-rc1.

Ich habe eine Kafka %code% , die eine laufende mit Wasserzeichen versehene Aggregation abfragt, mit einem %code% -Wasserzeichen, das an %code% mit %code% output mode ausgegeben wird.

%Vor%

Ich dränge folgende Daten in Kafka %code% :

%Vor%

Und ich bekomme folgende Ausgabe:

%Vor%

Ist das erwartetes Verhalten?

    
___ tag123StrukturierteStreaming ___ Structured Streaming ist ein neues Stream-Verarbeitungsmodell und -engine, das auf Spark SQL seit Apache Spark 2.0.0 aufbaut. Es bietet eine schnelle, skalierbare, fehlertolerante End-to-End-Stream-Verarbeitung mit exakt einmaligem Datenfluss mit den in Scala, Java und Python verfügbaren Dataset / DataFrame-APIs. ___ qstnhdr ___ Leere Ausgabe für die Aggregation von Wasserzeichen im Append Mode ___
2
Antworten

Leere Ausgabe für die Aggregation von Wasserzeichen im Append Mode

Ich benutze Spark 2.2.0-rc1. Ich habe eine Kafka topic , die eine laufende mit Wasserzeichen versehene Aggregation abfragt, mit einem 1 minute -Wasserzeichen, das an console mit append output mode ausgegeben wird. %Vor% Ich drä...
07.06.2017, 04:45