当我试图从cassandra读取uuid4类型列时,我得到的是垃圾。是否有任何方法以人类可读的格式(表示uuid4对象的十六进制字符串格式)读取它?
我得到的是-
cqlsh:upgradetest> select * from "AccessControlLinks" where key = 'a471b42b-cb20-4ae2-b924-c79a5eec1bed-Filters';
key | column1 | value
a471b42b-cb20-4ae2-b924-c79a5eec1bed-Filters | G\xff\xbc\x01\xaadNp\xb6\xd9\xe2\xd9\x0e\xd1\xc5@ | 我是否需要设置cqlsh函数/某些标志,以获得人类可读格式的column1值?
提前谢谢
曼尼什
发布于 2015-04-01 14:14:00
您所面临的问题是,您使用的是紧凑的存储(节约表),因此您正在失去CQL的好处,而您的列值将只是一个小问题。
你使用小型存储有什么原因吗?您是否仍然使用节俭作为您的数据传输,还是您选择紧凑存储的另一个原因?
我不相信用cqlsh以非二进制格式读取数据的方法会很容易。
发布于 2015-06-01 13:47:03
当cassandra中的数据以压缩格式读取时,不存在通过cqlsh读取uuid字符串的简单方法。但在蟒蛇中有一项工作。只是提到人们是否面临同样的问题。
以下是如何做到这一点。到python promt
import uuid
uuid.UUID(bytes='\xec\x84\x9e\xfd\x83\x83N6\x9b\xcd\xa4<{\x8a\xda\xd9')即将字符串从cqlsh传递到uuid.UUID
https://stackoverflow.com/questions/29383264
复制相似问题