如何在Scala中将数据框插入Cassandra

时间:2017-11-01 23:17:53

标签: apache-spark cassandra

我有一个如下所示的数据框,并希望将此数据插入到cassandra表中

+---------+------+-----------+
| name    |  id  |  city     |
+---------+------+-----------+
| sam     | 123  |  Atlanta  |
| John    | 456  |  Texas    |
+---------+------+-----------+

我使用下面的代码,但它只插入最后一行。

df.write.format("org.apache.spark.sql.cassandra")
    .options(Map("table" -> "tablename", "keyspace" -> "keyspace"))
    .mode(saveMode = "Append").save(`)

如何在Scala中将数据框插入Cassandra?

1 个答案:

答案 0 :(得分:0)

您提供的代码应将所有行插入Cassandra。有几个原因可能没有。

  1. 这实际上是所有数据,df仅出于某种原因 包含一行。

  2. 有多行,但它们共享相同的分区键, 这意味着后续写入将覆盖初始写入。

  3. 正在抛出异常,这在日志中应该很明显。