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 CQL中带有UDT字段的分区键_Cassandra_Cql - Fatal编程技术网

Cassandra CQL中带有UDT字段的分区键

Cassandra CQL中带有UDT字段的分区键,cassandra,cql,Cassandra,Cql,我有一个关于Cassandra中的分区键的小问题。 当我创建一个表,其中包含一个名为flxB的字段,其类型是UDT,如下所示: CREATE TYPE fluxes ( flux float, flux_prec smallint, flux_error float, flux_error_prec smallint, flux_bibcode text, system text ); 我可以将字段flxB.flux放在我的分区键中吗?不,不能将

我有一个关于Cassandra中的分区键的小问题。 当我创建一个表,其中包含一个名为flxB的字段,其类型是UDT,如下所示:

CREATE TYPE fluxes (
    flux float,
    flux_prec smallint,
    flux_error float,
    flux_error_prec smallint,
    flux_bibcode text,
    system text
);

我可以将字段flxB.flux放在我的分区键中吗?

不,不能将flxB.flux放在主键的任何部分上

即使在低于3.0的cassandra版本中,UDT类型字段也必须定义为冻结

使用冻结关键字时,不能更新用户定义类型值的部分。必须覆盖整个值。Cassandra将冻结的用户定义类型的值视为blob

在Cassandra中,插入/更新时必须存在主键的所有部分,如果Cassandra允许您将flx.flux放入分区键中,Cassandra将如何确保插入/更新查询中存在主键的所有部分