Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在cassandra cli中插入数据_Cassandra_Cassandra Cli - Fatal编程技术网

无法在cassandra cli中插入数据

无法在cassandra cli中插入数据,cassandra,cassandra-cli,Cassandra,Cassandra Cli,得到 模式: cassandra error: cannot parse uuid as hex bytes` java.sql.SQLSyntaxErrorException: cannot parse '8768c481-a118-48b7-aed2-2903b917d045' as hex bytes at org.apache.cassandra.cql.jdbc.CassandraPreparedStatement.doExecute(CassandraPrepared

得到

模式:

 cassandra  error: cannot parse uuid as hex bytes` 

java.sql.SQLSyntaxErrorException: cannot parse '8768c481-a118-48b7-aed2-2903b917d045' as hex bytes
    at org.apache.cassandra.cql.jdbc.CassandraPreparedStatement.doExecute(CassandraPreparedStatement.java:155)
    at org.apache.cassandra.cql.jdbc.CassandraPreparedStatement.execute(CassandraPreparedStatement.java:191)
    at CassClass.main(CassClass.java:55)
CLI命令:

{
  column_name: key, 
  validation_class: UTF8Type, 
  index_type: KEYS
}  where key is UUID generated 
as UUID key = UUIDGenerator.getInstance().generateRandomBasedUUID();

如果您使用的是CQL,最好也使用CQL创建列族。您似乎发现了一个bug,因为生成的CQL模式无效(有两列称为key):

但是,如果只需要一个索引字段,则可能需要以下架构:

CREATE TABLE newdata (
  key blob PRIMARY KEY,
  key text
);
这里,主键的类型为UUID,因此会检查您的键是否是有效的UUID。然后,您可以插入以下内容:

CREATE TABLE newdata (
  key uuid PRIMARY KEY
);
然后您可以进行如下查找:

INSERT INTO newdata (key) VALUES (8768c481-a118-48b7-aed2-2903b917d045);

这将告诉您UUID是否存在。您可以稍后添加其他列并使用上面的SELECT查询检索它们。

您可以粘贴整个cassandra cli输出吗?您的模式是什么?{column_name:key,validation_class:UTF8Type,index_type:KEYS}其中key是UUID生成的,作为UUID key=UUIDGenerator.getInstance().GeneratorDomainBasedUID();您使用的是什么cassandra cli命令?使用create column family newdata创建列族,使用comparator=UTF8Type;然后,使用column_metadata=[{column_name:key,validation_class:UTF8Type,index_type:KEYS}]更新column family newdata;使用cqlsh命令插入数据至新数据(键)值('8768c481-a118-48b7-aed2-2903b917d045');
INSERT INTO newdata (key) VALUES (8768c481-a118-48b7-aed2-2903b917d045);
SELECT * FROM newdata1 where key = 8768c481-a118-48b7-aed2-2903b917d045;