【发布时间】:2018-02-23 08:45:27
【问题描述】:
我将 Spark 与 cassandra 一起使用。我正在从我的表中读取一些行,以便使用 PrimaryKey 删除主题。这是我的代码:
val lines = sc.cassandraTable[(String, String, String, String)](CASSANDRA_SCHEMA, table).
select("a","b","c","d").
where("d=?", d).cache()
lines.foreach(r => {
val session: Session = connector.openSession
val delete = s"DELETE FROM "+CASSANDRA_SCHEMA+"."+table+" where channel='"+r._1 +"' and ctid='"+r._2+"'and cvid='"+r._3+"';"
session.execute(delete)
session.close()
})
但是这种方法为每一行创建一个会话,并且需要很多时间。那么是否可以使用 sc.CassandraTable 或其他比我的更好的解决方案删除我的行。
谢谢
【问题讨论】:
标签: scala apache-spark cassandra-2.0