我正在尝试使用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;
)
我的整个架构:
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查询设置静态列?