Cassandra Update / Upsert没有设置静态列?

时间:2016-08-09 10:09:55

标签: cassandra cql cql3 cqlsh

我正在尝试使用CQLSSTableWriter将数据“Upsert”到我的表中。除了我的静态列未正确设置外,一切正常。它们最终在每个场合都是空的。我的静态列定义为brand TEXT static

使用CQLSSTableWriter失败后,我进入了cqlsh并尝试手动更新静态列:

update keyspace.data set brand='Nestle' where id = 'whatever' and date = '2015-10-07';

并且还有一批(即使它无关紧要)

begin batch 
update keyspace.data set brand='Nestle' where id = 'whatever' and date = '2015-10-07'; 
apply batch;

当我检索一些数据(select * from keyspace.data LIMIT 100;

时,我的“品牌”列仍显示为null

我的整个架构:

CREATE TABLE keyspace.data (
    id text,
    date text,
    ts timestamp,
    id_two text,
    brand text static,
    latitude double,
    longitude double,
    signals_double map<text, double>,
    signals_string map<text, text>,
    name text static,
    PRIMARY KEY ((id, date), ts, id_two)
) WITH CLUSTERING ORDER BY (ts ASC, id_two ASC);

我选择Update而不是Insert的原因是因为我有一些我不想覆盖的集合,而是添加更多元素。使用insert将覆盖以前存储的集合元素。

为什么我不能使用Update查询设置静态列?

0 个答案:

没有答案