问题标签 [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.
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'}
理想情况下,“值”字段中的值是0
and 1514
forrow1
和row2
resp。
但是,我不确定如何将使用 cqlengine 提取的“值”字段值转换0
为1514
. 我尝试了几种方法,例如ord()
,decode()
等,但没有任何效果。:(
问题:
- 这是什么格式?
'\x01\x00\x00\x00\x00\x00\x00\x00\x00'
还是'\x04@\x97\xa8\x00\x00\x00\x00\x00'
? - 如何将这些任意值转换为
0
and1514
?
注意:我在 Linux 上使用 python 2.7.9
任何帮助或指示都会很有用。
谢谢,
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: 注册表中不存在连接名称''。
python - 无法使用 cqlengine python 模型从 cassandra 获取数据:
我正在尝试使用 cassandrapython cqlengine 来访问 cassandra db,当列不是列表类型时,我能够进行过滤。
我收到以下错误消息:
cassandra - 我可以从 cqlengine 执行“DESCRIBE KEYSPACES”吗?
我正在使用来自 Django 的 cqlengine。有没有办法从中制造DESCRIBE KEYSPACES
出来。它的工作形式cqlsh
。在Google 文档中找不到任何内容
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 集?
python - 使用 Cassandra ORM 模型测试服务
我有使用 Cassandra 模型存储一些数据的服务,我创建自定义连接等等,但我没有显式使用它,因为我使用 cqlengine 提供的 ORM,它隐式创建会话并执行查询。
问题是关于对这些东西进行单元测试和功能测试的正确方法。
以前,我模拟了另一个存储,它充当本地存储实例,但我没有找到任何与 Cassandra 的 ORM(cqlengine)类似的东西。Tessting.cassandra 和 cassandramock 都只适用于原生 cassandra-driver 查询。
有没有合适的方法来测试我依赖于 CQLEngine 而不运行 Cassandra 实例的逻辑(因为它破坏了单元测试的意识形态)?
cassandra - 更新是否导致更新或插入
Cassandra支持UPDATE
. 也就是说,如果更新语句中提供的键在表中不存在;它被暗示为插入。如果更新导致更新或插入,有没有办法从更新查询的返回代码中知道。我们宁愿在不从 Cassandra 额外读取的情况下检测到这一点。
我们有一个场景,我们有一个非常高吞吐量的应用程序,其中 99% 的事件导致插入,但非常小的块导致更新。一旦更新,我们会想要执行一些额外的检查并触发一些。
python - TypeError:模型从队列中取出时不支持的操作数类型
我的意图是cqlengine.models.Model
在单独的进程中创建实例并通过队列将其发送到数据库管理器。
multiprocessing
queue
不幸的是,如果使用了,我会收到 TypeError
该模型
例子
以下代码连接到 Cassandra 数据库,创建模型实例并将其存储到数据库中:
但是,如果我将模型放入队列并稍后将其出列,则会引发 TypeError。
如果打印出模型属性 _timeout,则会显示两个不同的对象 id(如预期的那样)
输出:
回溯(最近一次通话最后):
如何防止错误?
python - cassandra cqlengine 批量更新(如果存在)
我是卡桑德拉世界的新手。我正在尝试在 cassandra cqlengine 中找到正确的 api,只有在以前存在记录时,我才能使用它来更新记录。
我遇到的例子并没有解决这个特殊情况,我试图得到答案的蛮力尝试失败了:(。
来自:https ://datastax.github.io/python-driver/cqlengine/batches.html
我已经尝试在模型和批处理对象上执行 if_exists 。它最终创建了新对象。
提前致谢。
python - Cassandra cqlengine 增加日志记录的详细程度
我是 cassandra python 客户端的新手。我目前正在调试本地 cassandra 客户端遇到的问题。同样,我想增加 cassandra cqlengine 客户端上的日志记录详细程度。我想查看客户端在进行数据库调用时所做的详细日志。我无论如何都找不到使用文档中定义的客户端 api 来完成它。
我正在使用3.3.0
带有 python的 cassandra cqlengine 版本2.6
。提前致谢。