1

我已将字符串和整数值插入到 Cassandra 列族的动态列中。当我查询 CQL 中的值时,它们显示为十六进制编码位。

我可以以某种方式告诉查询将值解码为字符串或整数吗?

如果这更容易,我也很乐意在 CLI 中执行此操作。在那里我看到你可以指定assume <column_family> validator as <type>;,但这适用于所有列并且它们具有不同的类型,所以我必须多次运行假设和查询。

(注意列是动态的,所以我在创建列族时没有指定验证器)。

4

1 回答 1

0

您可以ASSUME像在 cassandra-cli 中一样在 cqlsh 中使用(尽管它仅适用于打印值,而不是发送它们,但这对您来说应该没问题)。您还可以按列使用它,例如:

ASSUME <column_family> ('anchor:cnnsi.com') VALUES ARE text;

..虽然(a),我只是测试了它,这个功能在 cassandra-1.1.1 及更高版本中被破坏了。我在CASSANDRA-4352发布了一个修复程序。并且(b),对于不止一些一次性使用,这可能不是一个非常通用或有用的解决方案。我强烈建议在这里使用 CQL 3,因为 CQL 直接支持像这样的宽存储引擎行已被弃用。您在此处的表肯定适用于(更易于使用)CQL 3 模型,但如果不了解更多有关您如何使用它的信息,我无法确切地说出它会是什么。

于 2012-06-18T17:17:30.820 回答