Cassandra 使用 IN 运算符在聚类列中更新和删除

2024-03-10

这是我的桌子

CREATE TABLE quorum.omg (
id int,
a int,
b text,
c text,
PRIMARY KEY ((id, a), b)
) WITH CLUSTERING ORDER BY (b DESC)

当我使用 IN 运算符执行 select 语句时,它对于最后一个分区键和最后一个集群键效果很好

SELECT * FROM  omg WHERE id=1 AND a IN ( 1,2) AND b IN ( 'a','b' ) ;

 id | a | b | c
----+---+---+----
  1 | 1 | b | hi
  1 | 2 | a | hi

但是当我更新和删除时,它会抛出这样的错误

UPDATE omg SET c = 'lalala' WHERE id=1 AND a IN ( 1,2) AND b IN ( 'a','b' ) ;
InvalidRequest: code=2200 [Invalid query] message="Invalid operator IN for PRIMARY KEY part b"

DELETE from omg  WHERE id=1 AND a IN ( 1,2) AND b IN ( 'a','b' ) ;
InvalidRequest: code=2200 [Invalid query] message="Invalid operator IN for  PRIMARY KEY part b"

我的错误是什么?提前致谢。


来自关于 UPDATE 的 DataStax 文档(http://docs.datastax.com/en/cql/3.1/cql/cql_reference/update_r.html http://docs.datastax.com/en/cql/3.1/cql/cql_reference/update_r.html):

仅分区键的最后一列支持 IN 关系。

您的最后一个分区键是a,但您正在尝试在集群键上使用它b。尝试在 WHERE 子句中使用特定的完整主键进行 UPDATE/DELETE。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cassandra 使用 IN 运算符在聚类列中更新和删除 的相关文章

  • 无法在 Mac 上将 JanusGraph 连接到本地 Cassandra

    我已在 Mac OS X 10 11 6 上安装并运行 Cassandra 3 11 1 跑步cqlsh在终端中打印以下消息 Connected to Test Cluster at 127 0 0 1 9042 cqlsh 5 0 1 C
  • 非二级索引查询尚不支持非主键列(事件类型)上的 Cassandra 谓词

    我开发了一个如下所示的表 其中主键为id 它是一个uuid类型 id date eventtype log password priority sessionid sourceip user useragent
  • 使用 Cassandra 进行单元版本控制

    我的应用程序使用 AbstractFactory 作为 DAO 层 因此一旦实现了 HBase DAO 系列 创建 Cassandra DAO 系列并从多个角度查看差异对我来说将是非常好的 不管怎样 试图做到这一点 我看到 Cassandr
  • Hector 在执行incrementCounter 后获取结果计数器值

    我们正在执行以下操作来更新计数器的值 现在我们想知道是否有一种简单的方法可以立即取回更新的计数器值 mutator incrementCounter rowid1 cf1 counter1 value Cassandra thrift AP
  • 避免 cassandra 中的僵尸数据

    最近 我在客户设置 3 节点集群时遇到了一个问题 其中一个节点出现故障 并在 12 天后才上线 在我们的场景中 大多数表的默认 gc grace seconds 已设置为 1 天 并且有很多表 当此故障节点出现时 来自该节点的陈旧数据被复制
  • Cassandra修复导致节点超时

    我们使用具有 5 个节点的 Cassandra 3 10 1 集群 每个节点有 8 个核心和 23Gi 内存 全部位于同一个 DC 中 复制因子 2 一致性级别 2 最近 在大约每周进行一次的计划修复期间 来自一个节点的查询出现多次超时 在
  • 适用于 AWS 区域的 Cassandra Ec2MultiRegionSnitch 或 GossipingPropertyFileSnitch

    我们在美国 AWS 区域有 3 个 Cassandra 节点 在新加坡 AWS 区域有 3 个节点 如果我必须构建多数据中心 我们是否必须使用 Ec2MultiRegionSnitch 或者我们可以使用 GossipingPropertyF
  • 关于 Cassandra 与 MySQL 的一些建议

    几天前我在这里问了一个问题 得到了一些非常好的答案 我正在考虑做一个带有个人资料 个人简介等的facebook风格的网站 并询问我是否应该使用mysql 答案是使用Cassandra 因为好多了 我只是问这是每个人都会建议的 只是我对mys
  • 性能 - TTL 与在 Cassandra 中删除一行

    我们有大量数据写入 cassandra 中的数百万行 我们还有一个调度程序 需要处理这些记录并在处理成功后将其删除 想知道处理后删除行还是用 TTL 标记行 本质上是延迟删除 Deletion 与 TTL 对于 Cassandra 性能有何
  • Datastax Cassandra Windows 服务

    这可能真的很简单 但真的很烦人 当使用Cassandra BAT文件时 我们可以通过该bat文件中的JAVA OPTS参数设置最小 最大堆大小 我们可以在哪里为 Windows 服务执行此操作 我认为它使用 prunsrv 使用相同的 ba
  • Spark JSON 文本字段到 RDD

    我有一个 cassandra 表 其中有一个名为 snapshot 的文本类型字段 其中包含 JSON 对象 identifier timestamp snapshot 我了解到 为了能够使用 Spark 对该字段进行转换 我需要将该 RD
  • 聚类键的范围查询

    我有一个表 用于记录在我的网站上执行的用户活动 我的表结构如下 CREATE TABLE key space log id uuid time bigint ip text url text user id int PRIMARY KEY
  • Cassandra 查询失败(墓碑)

    所以这让我发疯 我尝试查询 Cassandra 中的一张表 结果显示查询失败 我尝试深入探究其背后的原因 发现这是因为墓碑 我将 GC GRACE SECONDS 更改为零并使用 nodetool 触发了压缩 当我再次查询时它工作正常 然而
  • Cassandra cqlsh“无法连接到任何服务器”

    在命令行上执行 cqlsh bat 时收到以下消息 Connection error Unable to connect to any servers 127 0 0 1 ProtocolError cql version 3 3 0 is
  • Redis AOF fsync(始终)与 LSM 树

    我对日志结构化合并树 LSM 树 的理解是 它利用了附加到磁盘非常快 因为它不需要查找 这一事实 只需将更新附加到预写日志并返回到客户端即可 我的理解是 这仍然提供了立即的持久性 同时仍然非常快 我不认为 Redis 使用 LSM 树 它似
  • Cassandra LWT 读取

    据我了解 LWT 插入始终以 SERIAL 一致性级别完成 如果为 true 这是否意味着读取作为 LWT 插入的行可以安全地以 ANY 一致性级别读取 换句话说 我假设 LWT 插入是完全一致的 使得任何后续读取也完全一致 无论一致性级别
  • Cassandra 安装问题

    按照以下步骤安装 apache cassandra 最新版本 第一次启动时 cassandra f 我得到这个 Exception in thread main java lang NoClassDefFoundError org apac
  • Cassandra java驱动程序协议版本和连接限制不匹配

    我使用的java驱动程序版本 2 1 4卡桑德拉版本 dsc cassandra 2 1 10cql 的输出给出以下内容 cqlsh 5 0 1 Cassandra 2 1 10 CQL spec 3 2 1 Native protocol
  • 在 Cassandra 术语中,TimeUUID 是什么?

    在 Cassandra 术语中 什么是TimeUUID什么时候使用它 TimeUUID 是一个随机的全局唯一标识符 16 字节 十六进制表示示例 a4a70900 24e1 11df 8924 001ff3591711 See http e
  • Cassandra 已死但 pid 文件存在

    我是 cassandra 新手 尝试在 centos 7 0 上安装 cassandra 2 1 2 完成安装后 执行 cqlsh 命令并创建一些键空间和列族 乍一看 我觉得它工作得很好 但后来我意识到以下问题 1 当我执行 service

随机推荐

  • Carbon.php 第 425 行中的 Laravel InvalidArgumentException:使用 SQL 数据库跟踪数据

    我正在更新我的laravel 5 2从 MYSQL 到 SQL 数据库的应用程序 我一直面临着这个异常之后的碳日期格式问题 InvalidArgumentException in Carbon php line 425 Trailing d
  • 如何从 Intellij IDEA 访问内存中的 h2 数据库

    在 Spring Boot 项目中 我尝试从 IDE 查看内存中的表 如何从 Intellij IDEA 访问内存中的 h2 数据库 这是我的一个片段应用程序 yml h2 datasource url jdbc h2 mem mydb u
  • 使用 Mockito 检查多个参数的一致性

    我正在使用 Mockito 来模拟一个类 该类的方法如下所示 setFoo int offset float floats 我希望能够验证数组中的值 floats 等于 在给定容差范围内 预期值数组中的值 问题是我想检查的内容floats从
  • 如何对 Matlab 语言进行写保护?

    Matlab 允许您覆盖内置函数而无需发出警告 例如 我重写了该函数max 有一个变量 但 Matlab 没有提醒我这一点 仅在稍后调用该函数时才会抛出错误 并且不能帮助您查看实际问题 min 0 max 10 x linspace min
  • 表示 DAG(有向无环图)

    我需要将依赖项存储在 DAG 中 我们正在非常细粒度地 制定新的学校课程 我们使用的是 Rails 3 注意事项 宽大于深 很大 我估计每个节点有 5 10 个链接 随着系统的增长 这个值将会增加 读多写少 most common are
  • 如何在 XNA 中暂停重绘?

    我制作了一个 XNA 图像查看器 但它总是重新绘制场景 即使它没有改变 而且它让我的上网本烧得很厉害 所以我希望它在没有任何变化时暂停绘制 将帧速率降低到 1 是保持凉爽的一种方法 但会导致输出滞后 如何在没有输入的情况下防止重绘 这个问题
  • 如何更改 JFreeChart 的大小

    我添加了一个JFreeChart to a JPanel 用一个BorderLayout 并且它是huge 我可以做些什么来让它变小吗 public void generateChart DefaultCategoryDataset dat
  • 这个Handler类应该是静态的,否则可能会发生泄漏:AsyncQueryHandler

    处理程序引用泄漏 由于此处理程序被声明为内部类 因此可能会阻止外部类被垃圾收集 如果 Handler 在主线程以外的线程中使用 Looper 或 MessageQueue 则没有问题 如果 Handler 使用主线程的 Looper 或 M
  • 如何对具有多个值的多个列求和

    我正在寻找以下问题的解决方案 进入用户表并查找在网站上列出了项目的用户 在这个用户表中 没有关于拍卖的列 相反 它通过键连接到帐户表 在帐户中 此列称为用户 从这些 ID 已列出拍卖物品的用户 中 我需要找到他们的帐户余额 这也在账户表中
  • 将 jdouble 转换为 c 类型的 double

    我怎样才能转换jdoublejava类型变量为doublec 类型的变量 你不必这样做 它只是一个 typedef 如下所示 typedef double jdouble 所以一旦你有了一个 就不需要转换jdouble你可以把它当作doub
  • 是否使用drawRect(什么时候应该使用drawRect/Core Graphics vs 子视图/图像,为什么?)

    为了澄清这个问题的目的 我知道如何使用子视图和使用drawRect创建复杂的视图 我试图完全理解何时以及为何使用其中一种而不是另一种 我也明白提前优化那么多并在进行任何分析之前以更困难的方式做一些事情是没有意义的 考虑到我对这两种方法都很满
  • 为什么CSS3中有-moz-XXX和-webkit-XXX?

    我在 CSS3 中最讨厌的一点是 你总是应该使用两个属性来实现一种效果 我觉得这样不专业 加大CSS大小 例如 他们为什么不团结起来 webkit border radius and moz border radius in border
  • ValueTypes 如何从 Object (ReferenceType) 派生并且仍然是 ValueTypes?

    C 不允许从类派生结构 但所有 ValueType 都从 Object 派生 这种区别是在哪里做出的呢 CLR 如何处理这个问题 C 不允许从类派生结构 你的说法不正确 因此你感到困惑 C does允许结构从类派生 所有结构都派生自同一个类
  • VS 2015中的类库(包)在哪里?

    我正在尝试将类库 包 添加到我的 ASP NET MVC 5 项目中 但由于某种原因我找不到该选项 我是否必须安装其他依赖项才能获得该选项 它现在称为 类库 NET Core
  • 重命名文件源

    我一直在从平面文件源开发 SSIS 包 该文件每天都会出现 文件名具有日期时间指示 如下所示 文件名 20190509042908 txt 我想知道如何才能度过约会部分 我希望包动态读取文件 但它应该在没有最后 6 位数字的情况下通过 我只
  • 使用 MinGW-w64 编译 32 位架构

    我已经安装了 MinGW w64 来编译为 64 位 但看来我必须安装两个单独版本的 MinGW w64 才能获得对 32 位的支持 我尝试过 使用批处理文件和 powershell 脚本等等 但最终效果不是很好 似乎有 multilib
  • Gradle 构建中 dexOptions 中 jumboMode 的用途是什么?

    根据这个帖子 https stackoverflow com a 24224385 1176435它允许 dex 文件中包含更多数量的字符串 但我不太明白它的含义以及对构建的影响 Jumbo 模式与可以引用的字符串数量有关 一个 DEX 文
  • 从 IndexedSeq[DataFrame] 转换为 DataFrame?

    新手问题 我尝试向现有 DataFrame 添加列 我正在使用 Spark 1 4 1 import sqlContext implicits case class Test rule Int val test sc parallelize
  • 从数据框中删除特殊字符和字母数字的简单方法

    我有一个大型数据集 其中有 x 行和 y 列 其中一列为单词和一些不需要的数据 不需要的数据没有特定的模式 因此我发现很难将其从数据框中删除 nonhashtag want better than Dhabi United Arab Emi
  • Cassandra 使用 IN 运算符在聚类列中更新和删除

    这是我的桌子 CREATE TABLE quorum omg id int a int b text c text PRIMARY KEY id a b WITH CLUSTERING ORDER BY b DESC 当我使用 IN 运算符