问题标签 [cql]

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.

0 投票
1 回答
1484 浏览

cassandra - 内存表和键缓存混淆

我正在使用带有默认 Cassandra 缓存设置的 Hector 从 CF 读取行。这意味着密钥缓存已打开。我正在使用 jconsole 来监视键缓存命中。

但即使在读取单行(通过主键)100 次后,缓存命中率也不会增加。该行最近已更新。

因此,当打开密钥缓存时,Cassandra 读取流程是什么。是这样吗?

  1. 检查内存中的 MemTable 中的行(可能在最近的插入/更新后驻留在那里)。
  2. 如果在 MemTable 中找不到,则检查键缓存中的键。
  3. 如果找到键(缓存命中),则进行一次搜索,否则 2 次寻求获取该行。

但是使用cassandra-cliand cassandra-jdbc(CQL),我得到了不同的结果。也就是说,即使我最近更新了该行,每次从该行读取都会导致键缓存命中。比如说,我读了 100 遍,我得到了 100 次点击。

为什么会出现这种差异?

好吧,我自己想通了,但希望有人确认..

看起来更新只是将要更新的列获取到 MemTable 中。因此,当我使用 hector 更新一行时,我并没有更新所有列。只是一列x并且正在读取同一列x进行读取操作。所以没有缓存命中,因为它已经在 MemTable 中。

在运行 CQL 时,我只是在运行select * from cf导致获取另一列的结果y。该列y尚未更新,因此我假设它不会在内存中(MemTable),因此导致缓存命中。

0 投票
1 回答
2531 浏览

cassandra - Cassandra CQL3 切片查询问题 - 如何切片

我有一个使用创建的表CQL3

插入一些随机数据:

当我进行查询时

现在,如果我想获得接下来的 3 行

正在尝试为切片范围编写 CQL(不确定是否可以完成)

我的 CQLSh 显示 Socket 已关闭,我看到了错误

在服务器端,我看到以下错误:

我如何获得接下来的 3 行,关于服务器端的异常,我将提交一个错误。CQLSh 已关闭,我现在必须退出并重新连接

0 投票
1 回答
3386 浏览

cassandra - 二级索引列上的 CQL 和范围

下面的 CQL 查询导致错误提示

具有等于​​运算符的 by-columns 子句中不存在索引列

请注意,该列age已被二级索引。

但是我有另一个二级索引列type。所以当我用那个...

我似乎得到了正确的结果。

这是怎么发生的?

0 投票
2 回答
2842 浏览

cassandra - Cassandra 1.1:查询多个行键,但不是范围

我已经阅读了很多关于在 Cassandra 中构建反向索引的文档,但是我没有看到任何关于如何使用这些结果来获取适用行的信息。

我知道行切片,但这不适用于这里。我的问题是:如何根据行键获取大量特定行?

在伪 SQL 中:

0 投票
2 回答
1104 浏览

java - Hector 还是 CQL,我应该使用哪一个

我是卡桑德拉的新手。我必须编写一个使用 cassandra 的应用程序。我想知道哪一个对我更好,这样我将来就不会遇到太多问题。我应该为我的应用程序使用哪个 api。

0 投票
0 回答
166 浏览

sorting - 查找具有最多重叠 bbox 的形状(多边形)

我正在尝试构建一个 CQL 查询,以便在我的 spartial 数据库中找到某个形状。

我希望我的查询返回具有最大交叉点的形状。我的想法是设置 LIMIT=1 和 sortBy 交集。

如果您看到附加的屏幕截图,我希望我的查询返回以下内容:

从左到右的三角形

  • 过滤器1 --> 黄色形状
  • 过滤器2 --> 黄色形状
  • 过滤器3 --> 绿色形状

有什么办法可以解决我的问题吗?

到目前为止,我正在使用以下代码:

在此处查看屏幕截图

0 投票
1 回答
1164 浏览

cassandra - Cassandra - 创建新的 ColumnFamily 时出现 NullPointerException

我遇到了这里描述的确切问题https://issues.apache.org/jira/browse/CASSANDRA-4363但使用 Cassandra 1.1.2,cqlsh --cql3。

当我尝试创建列族时,我得到的错误是

有时我只是让 TSocket 读取 0 个字节。

服务器端日志也和 JIRA 票证中提到的一样。

我尝试删除 /var/lib/cassandra 目录并重新启动服务器。我仍然得到错误。JIRA 中的此错误已标记为无法重现,已修复版本无。那么我该怎么做才能让我的 cassandra 再次工作呢?

0 投票
2 回答
476 浏览

cassandra - 使用 FIRST N 在 CQL(1.1) 中指定列范围

CQL 文档 1.0中,您可以使用带有 SELECT 语句的“FIRST N”属性指定列范围

CQL 文档 1.1中,它似乎被省略了,这个特性是从 CQL 中删除的,还是仍然支持......也许以不同的方式?

0 投票
3 回答
1906 浏览

cassandra - 在 cqlsh 中禁用颜色

cqlsh 是 Apache Cassandra 的 CQL 命令提示符,被编程为在查询结果中显示颜色。有没有一种简单的方法可以在 cqlsh 中禁用颜色?

0 投票
3 回答
3069 浏览

c# - 使用 CQL 3 创建复合列(不是键)

本文讨论了 CQL 3 可用于在 Cassandra 1.1 中创建复合列的可能方式。它们只是想法。没有什么是官方的,Datastax 文档也没有涵盖这一点(只有复合键)。

据我了解,复合列是许多列一起只有一个值。

您如何使用 CQL 创建它们?

编辑

我将使用 C# 连接到 Cassandra。CQL 看起来使用起来很简单,这就是我想使用它的原因。