带有聚类键的Cassandra Insert null工作但使用cql从csv处理时却没有
例如:
CREATE TABLE tracks_by_album (
album_title TEXT,
album_year INT,
performer TEXT STATIC,
album_genre TEXT STATIC,
track_number INT,
track_title TEXT,
PRIMARY KEY ((album_title, album_year), track_number)
);
Insert into tracks_by_album(album_title,album_year,performer) values ('test',2011,'myself') working
但是track_number
null的复制命令无法正常工作。得到错误:
Failed to import 2 rows: InvalidRequest - Error from server:
code=2200 [Invalid query] message="Invalid null value in condition for column
track_number", will retry later, attempt 1 of 5
答案 0 :(得分:0)
静态字段是静态的,分区键是明智的,这就是为什么即使你没有指定聚类键,cassandra也允许你插入静态值。对于您的情况,(album_title, album_year)
是分区键,performer
是静态字段。这就是为什么即使您没有指定群集密钥performer
,cassandra也允许您插入track_number
。
但是cqlsh不允许你在没有所有主键的情况下导入数据,你可以称之为cqlsh的bug。
顺便提一下,如果您提供虚拟值track_number
,即0