问题标签 [cql3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cassandra - Cassandra 复合主键 CQL3
如果我想按时间窗口对主键进行分区,使用时间的文本表示或截断的本机时间戳会更好(为了存储和检索效率),即
或者
java - 使用 Thrift 的 CQL3 中的 Cassandra 准备好的语句
我正在寻找有关准备好的语句(ps)生命周期的信息。
我正在使用 apache 提供的 BasePoolableObjectFactory 来制作连接池。然后,使用 TSocket 和 TTransport,我从 Cassadra.Client 类创建一个对象。该对象具有执行 cql3 查询的方法。该对象还具有准备和执行cql3查询的方法,即我们可以使用thrift制作准备好的语句。
准备好的语句存储在哪里?在数据库服务器中还是只要对象存在它们就存在?
如果它们存储在数据库服务器中,我该如何获取,而无需再次创建它们?如果它们存储在对象中,那么在每次向服务器提交查询时准备什么?
我在问,因为我想知道什么时候值得做准备好的陈述。因为如果我做一个prepared statement,执行一次并关闭连接,那么根本不需要做prepared statements。
python - Python + Cassandra 1.2 自动建表
介绍
我正在使用 Cassandra 1.2 集群(7 个节点,复制因子 3)在 Python 中编写一个应用程序,并且我正在使用 cql 库(CQL 3.0)从 Python 访问 Cassandra。
问题
该应用程序的构建方式是,当尝试对未配置的列族运行 cql 语句时,它会自动创建表并重试 cql 语句。例如,如果我尝试运行它:
并且 table1 不存在,那么应用程序将为 table1 运行相应的 CREATE TABLE 并重试之前的选择。问题是,在创建表后 SELECT(重试)失败并出现以下错误:
问题
我假设集群需要一些时间来传播表的创建或类似的东西?如果我在创建表和重试 select 语句之间等待几秒钟,一切正常,但我想确切地知道为什么以及是否有更好的方法。也许让创建表在返回之前等待更改传播?有没有办法做到这一点?
提前致谢
cassandra - 在 Datastax Cassandra CQL 驱动程序中的 IN 子句中使用集合的预处理语句
我正在尝试运行以下查询
我将 Long 的 Java 列表绑定为参数,但出现异常
如果我尝试使用 (?) 它希望绑定单个 Long 项目,但我需要一个集合
我的语法有错误吗?
python - Cassandra 分页:如何使用 get_slice 使用 cql 库从 Python 查询 Cassandra 1.2 数据库
我有一个 Cassandra 1.2 集群,我正在使用 cql 库从 Python 中使用它。现在我需要使用 get_slice 实现一些看起来非常简单的分页功能,但是我无法从 cql 库中找到任何关于如何使用此类内容的文档:
我在 get_slice 的随机文档中看到了这种类型的语法,它看起来不像 CQL 3 语法,我如何从 Python 运行这种类型的查询到 Cassandra 1.2 集群?,这是当前使用 get_slice 的方式还是有新的语法或 CQL 3 替代方案?
提前致谢!
cassandra - 是否可以在不停机的情况下更改生产中的 Cassandra 静态列系列?
如果我们需要在生产中向现有的 Cassandra(1.2 版)静态列族添加新列,如果我们有数百个节点和多个数据中心,我们能否在不停机的情况下做到这一点?
如果不可能,那将是令人失望的。
groovy - CQL3 查询正在返回带有空键的行
我对 Cassandra 非常陌生,并在一些简单的用例中尝试使用 Astyanax/CQL3。我正在尝试从 Groovy 应用程序的 Cassandra 版本 1.2 上使用 Astyanax 和 CQL3 从简单表中检索数据。
我有以下列族(表):
表中存在以下行:
这就是我查询数据的方式:
这个的输出是:
尝试访问行中的任何列会导致以下结果:
感觉好像我错过了一些非常简单的东西。我做对了吗?
cassandra - 为 Cassandra 地图中的元素选择 TTL
有没有办法使用 CQL3 为 Cassandra 中的地图中的元素选择 TTL 值?
我试过这个,但它不起作用:
cassandra - Cassandra 的 cql 查询内存不足
我们有一个 32 节点 Cassandra 集群,每个节点使用 Murmur3 分区器大约 100Gb。它有时间序列数据,我们在两列上建立了二级索引来执行范围查询。目前集群稳定,数据全部批量加载,二级索引全部重建。当我们使用 cql 客户端或 hector 执行范围查询时会出现此问题,仅查询行数会花费大量时间,并且大多数情况下会由于内存问题导致节点失败。节点有 8GB 内存,Cassandra MAX Heap 分配给 4GB。有没有其他人遇到过这样的问题?有没有更好的方法来计算查询?
cassandra - 带有计数器列的 Cassandra 时间序列数据模型
我正在尝试为时间序列建模 cassandra 数据集,其中我使用计数器列捕获给定用户在一分钟内的字节总和。使用 CQL3 我有这个创建表语法:
我可以使用此查询更新列:
但是我现在想在 usr = 'username' 的几分钟内取回 'bytes' 的值:
我得到了错误:
错误请求:随机分区器的分区键仅支持 EQ 和 IN 关系(除非您使用 token() 函数)
我假设 CQL 在创建表时从“min”和“usr”中创建了一个复合键,从而允许我获得一系列复合键。cli 实际上告诉我关键实际上只是'min'的值:
我是否仅限于使用此数据模型对每个时间戳/用户名组合进行单独查询?
我还尝试使用用户名作为键的第一部分对数据进行建模,这允许我进行范围查询
然后我可以对列名进行几分钟的范围查询,如下所示:
但是我知道这些值现在存储在单行中,这在可以存储的列数方面存在限制,我想让这个数据集永远增长。
不知道如何进行。