2016-07-25 1 views
0

J'ai bouclé avec Names{Real Test!, Real Test1!} et à l'intérieur il jours de lancement de boucle (ici comme l'exemple d'itération est 1 jour seulement), dans cette boucle quelques opérations avec des données, et ensuite je flatMap RDD (avec 2 lignes) à RDD avec 5 lignes. Et collect().foreach(println) il m'a donné ceci:Scala flatmap sauver à cassandra via étincelle dans la boucle

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

pour le prénom - et

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

pour la deuxième. Quand j'essaye de saveToCassandra tous les 5 rangées dans la DB de boucle j'ai seulement les dernières rangées de flatMap. Pourquoi cela me sauve-t-il seulement la dernière rangée de flatMap, et comment je peux sauver TOUS les 5 rangées?

+0

Quel est le schéma de la table cassandra? – Knight71

+1

Si votre clé primaire est (ID, nom, date), il s'agit du comportement attendu car les données avec la même clé primaire remplacent les données existantes. – Knight71

+0

xD oui, vous avez raison! Je vous remercie!! – ANTVirGEO

Répondre

0

Si la clé primaire est (id, nom, date), il s'agit du comportement attendu car les données avec la même clé primaire remplacent les données existantes.

+0

Votre réponse était de mauvaise qualité. S'il vous plaît lire sur la façon de répondre à la question sur SO. – eliasah