【发布时间】:2018-07-14 07:02:42
【问题描述】:
作为测试的一部分,我正在使用 Cassandra Python 驱动程序来尝试选择和删除由 Cassandra 压力工具(Standard1,在 Keyspace1 上)生成的一个表上的所有行。 Standard1 由几个 blob 列组成。
我的方法是提取行的(主)键,然后运行循环以删除基于此的行。
我面临的问题是,Cassandra 驱动程序似乎将 blob(十六进制字节)转换为字符串,因此当我尝试将其传递给删除语句时,它失败并显示“无法将 'XXXXXX' 解析为十六进制字节”。
CQLSH 上表中的数据看起来像“0x303038333830343432”,而下面的选择将键提取为,即“069672027”。
有没有办法防止十六进制字节被转换成字符串?我应该使用其他任何方法吗?
谢谢!
query = SimpleStatement("SELECT (key) FROM \"Standard1\" LIMIT 10", consistency_level=ConsistencyLevel.LOCAL_QUORUM)
rows = session.execute(query)
for row in rows:
query = SimpleStatement("DELETE FROM \"Standard1\" WHERE key = %s", consistency_level=ConsistencyLevel.LOCAL_QUORUM)
session.execute(query, (row.key, ))
【问题讨论】:
标签: datastax datastax-enterprise