当前位置: 首页 > 知识库问答 >
问题:

使用Apache Spark Java connector for Cassandra使用键列从Cassandra DB中删除行

岳承悦
2023-03-14

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

共有1个答案

夏骞尧
2023-03-14

用于删除Cassandra记录的功能deletefromcassandra()将在新的Cassandra连接器版本中发布。更多详情请查看SPARKC-349和SPARKC-392。

要使用Cassandra连接器从Cassandra中删除行,可以执行如下操作。例如,我的表中有id UUID PRIMARY KEY,username text等列。现在我想删除所有username等于“mat”的行。为此,从Cassandra连接器获取会话并执行delete查询。

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();
    });
 类似资料:
  • 我有一个CSV文件,它有重复的列标题,所以我不能使用导入CSV来完成这项工作。标题名称是动态的。我需要得到第三列、第四列以及之后的每四列(例如:从0列开始,第2列、第3列、第7列、第11列、第15列…)。 我有重复列名的原因是头3需要与头0相同的名称,以四个组为一组。0个 我使用“获取内容”,因为我不知道如何使用“导入Csv”实现此功能。我必须使用Import Csv来获取列数,而我无法用get

  • 问题内容: 我有一个MySQL表,其定义如下: 目前表格中只有1列: 问题是没有删除约束就无法删除该行的方法。 由于ThreadId列的定义不为null,因此也无法将ThreadId临时设置为其他值以删除该行。有没有一种方法可以删除行而不更改表的定义或删除整个表? 问题答案: 您可以使用以下查询临时禁用外键约束:

  • 问题内容: 我正在尝试同时从Firebase数据库中的多个位置删除数据。 在火力地堡文档状态: “删除数据的最简单方法是在对数据位置的引用上调用removeValue。您还可以通过将nil指定为另一个写操作(例如setValue或updateChildValues)的值来进行删除。您可以将此技术与updateChildValues一起使用以进行删除一个API调用中有多个子级。” 我的代码是 所有四

  • 我试图同时删除Firebase数据库中多个位置的数据。 Firebase文档声明: "删除数据的最简单方法是在引用该数据的位置时调用RemveValue。还可以通过将nil指定为其他写入操作(如setValue或updateChildValue)的值来删除。可以将此技术与updateChildValue一起使用,在单个API调用中删除多个子级。" 我的代码是 所有四条路径都是字符串,但我得到一个错

  • 我正在使用gradle构建一个Spring Boot应用程序,我希望从war中删除文件,因为该文件将从外部加载(它运行在tomcat容器中,而不是嵌入式的)。 我查看了StackOverflow和Gradle文档,试图找出该做什么,但我不知道该绑定到哪个阶段,以及在创建war之前还是之后排除该文件。处理文件似乎也有多种方法。 我相信Maven使用作为等价物。

  • 问题内容: 我是JQuery的新手。在我的应用程序中,我具有以下内容: 当我单击一个Div时,该Div的颜色就会更改。在该Click函数中,我需要执行一些功能。毕竟,我想从Div中删除应用的CSS。如何在JQuery中做到这一点? 问题答案: 将您的CSS属性放入类中,然后执行以下操作: 然后在“其他功能”执行以下操作: