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 行时 - 在 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 行?

4

1 回答 1

0

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

于 2016-08-03T06:50:39.257 回答