gpt4 book ai didi

java - 使用适用于 Cassandra 的 Apache Spark Java 连接器(使用键列)从 Cassandra DB 中删除行

转载 作者:行者123 更新时间:2023-12-02 03:08:01 25 4
gpt4 key购买 nike

我正在使用 Apache Spark 2.0、Apache Cassandra 3.7和 Apache Spark Java Connector for Cassandra 2.11 (2.0.0-M3)

我想根据关键列值从 Cassandra 的表中删除几行。如何使用 Dataset 和 Apache Spark Java Connector for Cassandra 来实现这一点?我在代码中使用 SparkSession。请建议。如果还有其他方法可以做到这一点,请告诉我。我想用 Java 来做。

谢谢。

最佳答案

用于删除 Cassandra 记录的deleteFromCassandra() 功能将在新的 Cassandra 连接器版本中推出。请查看SPARKC-349SPARKC-392了解更多详情。

要使用 Cassandra 连接器从 Cassandra 删除行,您可以执行如下操作。举例来说,我的表中有诸如 id UUID PRIMARY KEY, username TEXT 之类的列。现在我想删除用户名等于“Mat”的所有行。为此,从 Cassandra 连接器获取 session 并执行删除查询。

dataset.where(dataset.col("username").equalTo("Mat")).foreachPartition(partition -> {
Session session = connector.openSession();
while (partition.hasNext()) {
Row row = partition.next();
String id = (String) row.get(0);//UUID is at index 0
String delete = "DELETE FROM mykeyspace.mytable where id=" + id + ";";
session.execute(delete);
}
session.close();
});

关于java - 使用适用于 Cassandra 的 Apache Spark Java 连接器(使用键列)从 Cassandra DB 中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41460892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com