Ich bin einen DSTREAM mit einem Schlüssel-Wert-Paar VideoID-Benutzer-ID mit, was eine gute Praxis ist eine deutliche UserID Gruppe von VideoID zählen?Spark-Streaming - Count eigenständiges Element im Zustand
// VideoID,UserID
foo,1
foo,2
bar,1
bar,2
foo,1
bar,2
Wie oben, ich will durch Entfernen redundanter foo,1
und bar,2
jederzeit VideoID-CountUserID bekommen, so sollte das Ergebnis sein:
foo: 2
bar: 2
Mit anderen Worten, ich möchte eine große halten Zustandsdatensatz im Speicher. Wenn ein neuer Batch von dstream ankommt, vergleicht er ihn mit dem Dataset, um die einzelnen Nutzer jedes Videos zu zählen.
Wie geht das?
Ich arbeite an Spark-1.6, aber eine Antwort der Weiten Version akzeptiert wird. Python-Code, wenn möglich.
Dank für das Verbringen der Zeit! Jetzt denke ich, dass es keine gute Möglichkeit ist, einen großen Datensatz im Speicher zu halten. Daher verwende ich die Fensterfunktion, um in einer Periode anders zu zählen. Vielen Dank! –