2016-07-25 65 views
0

我有与Names{Real Test!, Real Test1!}循环并在它内部循环抛出天(这里举例来说,迭代只有1天),在这个循环中的一些操作与数据,然后我flatMap RDD(与2行)到5行的RDD。而就collect().foreach(println)它给了我这样的:通过循环中的火花保存到卡桑德拉的斯卡拉平面图

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

的名字 - 和

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

第二。当我尝试saveToCassandra循环中的所有5行 - 在数据库中,我只有最后一行flatMap。

id | name  | date  | count | event 
1 | Real Test! |2016-07-25 | 63 | session_end 
2 | Real Test1! |2016-07-25 | 0 | session_end 

为什么它只保存flatMap中的最后一行,以及如何保存所有5行?

+0

cassandra表的模式是什么? – Knight71

+1

如果您的主键是(id,name,date),那么这是预期的行为,因为具有相同主键的数据会覆盖现有数据。 – Knight71

+0

xD是的,你说得对!谢谢!! – ANTVirGEO

回答

0

如果主键是(id,name,date),那么这是预期的行为,因为具有相同主键的数据会覆盖现有数据。

+0

你的答案质量很差。请阅读如何回答关于SO的问题。 – eliasah