2016-07-25 21 views
0

Ich habe Schleife mit Names{Real Test!, Real Test1!} und innerhalb es Schleifenwurf Tage (hier als Beispiel Iteration ist nur 1 Tag), in dieser Schleife einige Operationen mit Daten, und dann ich FlatMap RDD (mit 2 Zeilen) an RDD mit 5 Zeilen. Und auf collect().foreach(println) es gab mir dies:Scala flatmap Speichern in Cassandra über Funken in Schleife

(Real Test!,2016-07-25,session_end,63) 
(Real Test!,2016-07-25,app_open,63) 

für Vorname - und

(Real Test1!,2016-07-25,app_open,63) 
(Real Test1!,2016-07-25,app_install,0) 
(Real Test1!,2016-07-25,session_end,0) 

für die zweite. Wenn ich versuche, saveToCassandra alle 5 Zeilen in Schleife - in DB habe ich nur letzte Zeilen von FlatMap.

Warum speichert es mich nur letzte Zeile von FlatMap, und wie kann ich alle 5 Zeilen speichern?

+0

Was ist das Schema für Cassandra Tabelle? – Knight71

+1

10 Wenn Ihr Primärschlüssel (ID, Name, Datum) lautet, ist dies das erwartete Verhalten, da die Daten mit demselben Primärschlüssel die vorhandenen Daten überschreiben. – Knight71

+0

xD ja, du hast Recht! Vielen Dank!! – ANTVirGEO

Antwort

0

Wenn der Primärschlüssel (ID, Name, Datum) ist, dann ist dies das erwartete Verhalten, da die Daten mit demselben Primärschlüssel die vorhandenen Daten überschreiben.

+0

Ihre Antwort war schlechte Qualität. Bitte lesen Sie, wie Sie die Frage zu SO beantworten können. – eliasah