问题标签 [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 中按数据类型而不是字符串进行聚类排序?
我使用以下 CQL 在 cqlsh 中的 CQL3 中创建了一个表:
请注意,locationid 是一个整数。
但是,在我插入数据并运行选择之后,我注意到 locationid 的升序排序似乎是基于字符串,而不是整数。
请注意 0 10 5. 有没有办法通过其实际数据类型对其进行排序?
谢谢,艾莉森
cassandra - 复合键上的 CQL2 列切片和 CQL3 wheres 是否等效?
我有一些问题让我的大脑围绕着 CQL。我一直在尝试在 CQL3 中使用列切片(我认为这是正确的术语),但所有关于它的文档似乎都参考了 CQL2。
例如我有下表:
现在,在 CQL2 中,我可以执行以下操作:
它返回所有行范围内的所有列
现在,在 CQL3 中我不能这样做(至少,不能在 cqlsh 上),但我可以这样做:
这让我得到了基本相同的信息,但格式略有不同。
问题是——这些是等价的吗?如果我不添加允许过滤,cqlsh 会警告我有关性能问题的事实告诉我,CQL2 版本更有效,并且我的 CQL3 查询运行方式不同,但我真的无法找到一个直接的答案来确认我的直觉在这里。
编辑:让我担心的具体事情是运行 CQL2 查询不会引起 cqlsh 的抱怨,但是运行 CQL3 查询而不“允许过滤”会使 cqlsh 由于担心性能不可预测而拒绝执行查询。
cassandra - 如果不鼓励在 cassandra 1.2/Cql3 中使用动态列,那么它在功能上比 Mysql 好多少?
最初我开始学习 Cassandra,因为动态列引起了我的注意。随着我开始学习更多,我了解到复合主键比动态列更受欢迎,并且 Cassandra 正在转向基于模式(模式是可选的,不是强制性的,但建议使用)。在 cql3 中,这是强制性的,我读到 cql3 是 cassandra 中新应用程序的最佳方法。
这是我面临一个有趣问题的地方。我正在阅读一张特定的幻灯片(Mysql vs Casssandra)-http://lanyrd.com/2012/austin-mysql-meetup-january/spdrx/ (跳转到第 31 张幻灯片),其中讨论了欺诈检测用例。
“在 FraudDetection 中,为了计算风险,通常需要知道有关帐户曾经使用过的所有电子邮件、目的地、来源、设备、位置、电话号码等。”
解释了我们如何在关系世界中维护电子邮件、目的地、来源等的单个表,以及在 cassandra 世界中使用动态列键和值是多么容易。(31-34 张幻灯片)。
既然动态列的键和值都被劝阻了,我们该如何解决这个问题呢?我们是否应该为每个电子邮件、目的地等维护单独的列族?那么它与关系世界有什么不同呢?仅与可扩展性有关吗?我们还能继续使用无模式方法吗?这是“架构是可选的和推荐的,但不是强制性的”的黄金法则吗?
谢谢
schema - Cassandra CQL 克隆键空间模式
我正在尝试转储 Cassandra 键空间的模式,该模式可用于将其导入另一个键空间,例如备份 cassandra 键空间并将其恢复到具有相同模式的不同键空间中。
我正在使用 cqlsh:
我最初使用 CLUSTERING ORDER 时间戳 DESCENDING 顺序创建模式:
然后我使用 CQL 函数转储我认为有效的 CQL3:
当我尝试将其导入回 cqlsh 时,出现以下错误:
我相信它无法解析创建的列定义(最初是使用 CLUSTERING ORDER BY 创建的):
是否有其他方法可以转储给定键空间的模式?
cassandra - 在 cassandra 1.2 中重命名键空间和列族
如何在 cassandra 1.2 中重命名键空间和列族?我知道不再支持 cassandra-cli rename api -如何在 Cassandra 中重命名键空间。也许CQL3中有一些api?或者一些用于创建新列族并将所有数据从旧列族处理到新列族的 api?
map - Astyanax地图数据访问cql3
我正在尝试使用 Astyanax 访问地图列类型。从我已经采取以下的例子。我正在循环这些行,并且可以从所有列中获取数据,除了具有数据类型 MAP 的列存储名称。我假设我需要遍历地图的元素以将数据放入我的对象中,但我不知道如何从列中获取地图数据。
我正在尝试 column.getValue 并尝试过 getByteBuffer 但都无法正常工作。我可以获得一个列对象,我看到有一个 ColumnMap 接口,但我不知道如何将数据放入扩展或使用它的对象中。我还看到了一个 MapSerializer 接口,但不知道如何实现它......
我对 getValue() 有点困惑,因为它需要一个 Serializer 作为它的第二个参数和一个默认值作为它的第三个参数。如何将 MapSerializer 作为第二个参数传递,或者我什至应该使用 getValue() 方法?默认值是 Map 中的键值吗?如果我想返回地图中的所有值,那该怎么办?谢谢。
cassandra - 从地图中选择特定值
我正在尝试创建一个包含 20,000 多列的 WIDE Column Table
最初我想我会使用:
插入此表工作正常
但是,我想阅读一个单独的细节:
执行此查询时,我收到以下错误:
这会奏效吗,还是我需要不同的方法?
cassandra - 在 Cassandra CQL 3 表定义中,我对静态和动态列混合有多少控制?
我试图更好地了解我可以在 CQL3 中实际混合静态和动态列的级别。我在 CQL 3 中创建了一个表来存储用户订阅数据,但我也在测试在表中存储一个tenant_id(带有二级索引)的方法,以便我可以快速识别哪些用户属于哪些租户(租户是用户所属的更高级别的实体)。
我的创建表语句如下,然后是一些虚拟数据插入:
这一切都很好,我得到了使用 cql 3 API 的期望:
但是,行的底层存储会导致 Cassandra 为每个新订阅复制tenant_id:
我的问题是:有没有办法让我(使用 CQL 3)以每行仅列出一次 subscription_id 的方式构造表?如果没有,是否可以使用较旧的 cassandra-cli API 来执行此操作?看起来这将是一个可行的用例,实际上是一个将静态数据与动态数据(即订阅位)混合的问题,但我很可能是错的。我知道 map 和其他 CQL 3 集合类型是这样做的一种方式,但是我必须一次检索整个集合的事实让我有点紧张,我宁愿不将一些复杂的对象序列化到 map 值槽中,如果我可以帮助它。
谢谢!
cassandra - Cassandra:获取列族的列名?
我想知道 CQL3 中是否有一个查询允许您获取具有静态模式的特定列族的列名?
提前致谢 :)
cassandra - 将 Pig 与 Cassandra CQL3 一起使用
当尝试针对 CQL3 创建的 Cassandra Schema 运行 PIG 时,
我收到以下错误。
我知道这是设计使然,但我一直无法找到将 CQL3 表加载到 PIG 中的正确方法。
有人可以指出我正确的方向吗?是否缺少一些文档?