我正在尝试在column_validators
中设置一些pycassa
,但在使用某种超级库设置时遇到了麻烦:我似乎无法为包含的列设置验证器在一个超级列。我正在尝试像
cf.column_validators['supercolumn_name']['column_name'] = types.FloatType()
这不起作用,因为第二个字典尚未初始化,试图将其设置为类似
cf.column_validators['supercolumn_name'] = {}
也不起作用......所以关于如何处理这个问题的任何例子都很受欢迎,因为官方的pycassa doc没有显示任何关于此的详细信息。 此外,这些验证器似乎并不持久,因此是否有可能持续设置它们?
编辑:在查看pycassa的源代码后,我发现,对于验证器,您不必指定列所包含的超级列,所以
cf.column_validators['column_name'] = types.FloatType()
应该做的伎俩!如果验证者能以某种方式持久化仍然存在问题吗?
答案 0 :(得分:4)
您可能不希望直接修改column_validators。这些是根据列族的column_metadata属性自动设置的。您可以使用pycassa中的'alter_column'命令修改Cassandra中的列族模式。然后将永久正确设置column_validators。