我已将字符串和整数值插入到Cassandra列族中的动态列中。当我在CQL中查询值时,它们显示为十六进制编码位。
我可以以某种方式告诉查询将值解码为字符串或整数吗?
如果这更容易,我也很乐意在CLI中执行此操作。在那里,我看到您可以指定assume <column_family> validator as <type>;
,但这适用于所有列,并且它们具有不同的类型,因此我必须多次运行假设和查询。
(请注意,列是动态的,因此在创建列族时我没有指定验证器。)
答案 0 :(得分:0)
你可以在csssh中使用ASSUME
,就像在cassandra-cli中一样(尽管它只适用于打印值,而不是发送它们,但这对你来说应该没问题)。您也可以按列使用它,例如:
ASSUME <column_family> ('anchor:cnnsi.com') VALUES ARE text;
..虽然(a),我只是测试了它,这个功能在cassandra-1.1.1及更高版本中被破坏了。我在CASSANDRA-4352发布了修复程序。而且(b),对于一些以上的一次性用途,这可能不是一个非常通用或有用的解决方案。我强烈建议在这里使用CQL 3,因为不推荐使用像这样的宽存储引擎行的CQL直接支持。您的表格当然适用于(更易于使用)CQL 3模型,但如果不了解您如何使用它,我无法确切地说出它将会是什么。