问题标签 [cqlengine]

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 回答
1513 浏览

python - 无法将 cassandra blob/bytes 字符串转换为整数

我在 cassandra-3.0.6 中有一个列族/表,其中有一个名为“value”的列,它被定义为 blob 数据类型。

CQLSH 查询select * from table limit 2;返回我:

编号 | 姓名 | 价值

id_001 | 约翰 | 0x010000000000000000

id_002 | 特里 | 0x044097a80000000000

如果我使用 cqlengine(Datastax Python Driver) 读取这个值,我会得到如下输出:

{'id':'id_001', '名称':'john', '值': '\x01\x00\x00\x00\x00\x00\x00\x00\x00'}

{'id':'id_002','name':'terry','value':'\x04@\x97\xa8\x00\x00\x00\x00\x00'}

理想情况下,“值”字段中的值是0and 1514forrow1row2resp。

但是,我不确定如何将使用 cqlengine 提取的“值”字段值转换01514. 我尝试了几种方法,例如ord(),decode()等,但没有任何效果。:(

问题:

  1. 这是什么格式? '\x01\x00\x00\x00\x00\x00\x00\x00\x00'还是 '\x04@\x97\xa8\x00\x00\x00\x00\x00'
  2. 如何将这些任意值转换为0and 1514

注意:我在 Linux 上使用 python 2.7.9

任何帮助或指示都会很有用。

谢谢,

0 投票
2 回答
2286 浏览

python - 关于注册表中不存在的连接名称的 CQL 引擎异常

尝试使用在 Windows 2012 Server R2 - 64 位上运行的 Python Cassandra-Driver 客户端连接到 Cassandra DB 时出现以下异常。我可以在我的个人笔记本电脑上运行它,但不能在 Azure 上托管的机器上运行。我确定我缺少一些依赖项,但不确定它们是什么。

文件“C:\Python\Python35-32\lib\site-packages\cassandra\cqlengine\connection.py”,第 190 行,在 get_connection 中引发 CQLEngineException("Connection name '{0}' 在注册表中不存在。 ".format(name)) Cassandra.cqlengine.CQLEngineException: 注册表中不存在连接名称''。

0 投票
1 回答
108 浏览

python - 无法使用 cqlengine python 模型从 cassandra 获取数据:

我正在尝试使用 cassandrapython cqlengine 来访问 cassandra db,当列不是列表类型时,我能够进行过滤。

我收到以下错误消息:

0 投票
1 回答
238 浏览

cassandra - 我可以从 cqlengine 执行“DESCRIBE KEYSPACES”吗?

我正在使用来自 Django 的 cqlengine。有没有办法从中制造DESCRIBE KEYSPACES出来。它的工作形式cqlsh在Google 文档中找不到任何内容

0 投票
1 回答
351 浏览

python - 使用 CQLEngine 更新 UDT 集

我是 Cassandra 的新手,我正在尝试使用 CQLEngine ORM 来更新包含 UDT 的集合列,但我不能,并且文档没有说明任何关于自定义类型的内容。

我的代码是;

MyModel 最初在 set 中保存 NULL 但是当我尝试更新它时,我收到以下错误:

cassandra.InvalidRequest: Error from server: code=2200 [Invalid query] message="Invalid set literal for mytype: value 'point' is not of type frozen<mytype>"

'point' is not of type frozen<mytype>-> 每当我重新运行代码时,这部分会随机更改(下次我运行时,'val' 列等会出现相同的错误)。

谁能帮助我如何添加 UDT 集?

0 投票
1 回答
391 浏览

python - 使用 Cassandra ORM 模型测试服务

我有使用 Cassandra 模型存储一些数据的服务,我创建自定义连接等等,但我没有显式使用它,因为我使用 cqlengine 提供的 ORM,它隐式创建会话并执行查询。

问题是关于对这些东西进行单元测试和功能测试的正确方法。

以前,我模拟了另一个存储,它充当本地存储实例,但我没有找到任何与 Cassandra 的 ORM(cqlengine)类似的东西。Tessting.cassandra 和 cassandramock 都只适用于原生 cassandra-driver 查询。

有没有合适的方法来测试我依赖于 CQLEngine 而不运行 Cassandra 实例的逻辑(因为它破坏了单元测试的意识形态)?

0 投票
2 回答
257 浏览

cassandra - 更新是否导致更新或插入

Cassandra支持UPDATE. 也就是说,如果更新语句中提供的键在表中不存在;它被暗示为插入。如果更新导致更新或插入,有没有办法从更新查询的返回代码中知道。我们宁愿在不从 Cassandra 额外读取的情况下检测到这一点。

我们有一个场景,我们有一个非常高吞吐量的应用程序,其中 99% 的事件导致插入,但非常小的块导致更新。一旦更新,我们会想要执行一些额外的检查并触发一些。

0 投票
1 回答
249 浏览

python - TypeError:模型从队列中取出时不支持的操作数类型

我的意图是cqlengine.models.Model在单独的进程中创建实例并通过队列将其发送到数据库管理器。

multiprocessing queue不幸的是,如果使用了,我会收到 TypeError

该模型

例子

以下代码连接到 Cassandra 数据库,创建模型实例并将其存储到数据库中:

但是,如果我将模型放入队列并稍后将其出列,则会引发 TypeError。

如果打印出模型属性 _timeout,则会显示两个不同的对象 id(如预期的那样)

输出:

回溯(最近一次通话最后):

如何防止错误?

0 投票
0 回答
380 浏览

python - cassandra cqlengine 批量更新(如果存在)

我是卡桑德拉世界的新手。我正在尝试在 cassandra cqlengine 中找到正确的 api,只有在以前存在记录时,我才能使用它来更新记录。

我遇到的例子并没有解决这个特殊情况,我试图得到答案的蛮力尝试失败了:(。

来自:https ://datastax.github.io/python-driver/cqlengine/batches.html

我已经尝试在模型和批处理对象上执行 if_exists 。它最终创建了新对象。

提前致谢。

0 投票
1 回答
621 浏览

python - Cassandra cqlengine 增加日志记录的详细程度

我是 cassandra python 客户端的新手。我目前正在调试本地 cassandra 客户端遇到的问题。同样,我想增加 cassandra cqlengine 客户端上的日志记录详细程度。我想查看客户端在进行数据库调用时所做的详细日志。我无论如何都找不到使用文档中定义的客户端 api 来完成它。

我正在使用3.3.0带有 python的 cassandra cqlengine 版本2.6。提前致谢。