【发布时间】:2016-08-03 14:54:11
【问题描述】:
我有Names{Real Test!, Real Test1!} 的循环,在它里面循环抛出天(这里作为示例迭代只有 1 天),在这个循环中对数据进行一些操作,然后我 flatMap RDD(有 2 行)到 RDD 有 5 行.在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 行时 - 在 DB 中,我只有最后几行 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 行?
【问题讨论】:
-
cassandra 表的架构是什么?
-
如果您的主键是 (id,name,date),那么这是预期的行为,因为具有相同主键的数据会覆盖现有数据。
-
xD 是的,你说得对!谢谢!!
-
甚至不要以 cassandra 的方式思考 >
标签: apache-spark cassandra flatmap