【发布时间】:2018-07-04 14:50:23
【问题描述】:
我是 Cassandra 的新手,我正在尝试创建一个表和物化视图。但它不起作用。
我的查询是:
-- 所有订单
create table all_orders (
id uuid,
order_number bigint,
country text,
store_number bigint,
supplier_number bigint,
flow_type int,
planned_delivery_date timestamp,
locked boolean,
primary key ( order_number,store_number,supplier_number,planned_delivery_date ));
--orders_by_date
CREATE MATERIALIZED VIEW orders_by_date AS
SELECT
id,
order_number,
country,
store_number,
supplier_number,
flow_type,
planned_delivery_date,
locked,
FROM all_orders
WHERE planned_delivery_date IS NOT NULL AND order_number IS NOT NULL
PRIMARY KEY ( planned_delivery_date )
WITH CLUSTERING ORDER BY (store_number,supplier_number);
我遇到了这样的异常:
SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query]
message="line 1:7 no viable alternative at input 'MATERIALIZED' ([CREATE] MATERI
ALIZED...)">
【问题讨论】:
-
Cassandra 版本?...同样使用 MV 的 PRIMARY KEY,一个交货日期将只有一条记录...如果您使用集群订单,则应该是
PRIMARY KEY ( planned_delivery_date, store_number,supplier_number) -
关于乞讨的提醒,来自较早的问题:专业发布提示:我注意到您添加了很多闲聊/恳求材料(我需要帮助,请帮助我,有人好心吗?帮助等)。您可能会发现这对以英语为母语的人来说很烦人,因此实际上并不鼓励人们提供帮助;无论如何,由于您将其添加到所有问题中,因此对于喜欢修剪这类事情的志愿编辑来说,这是更多的工作。谢谢你,如果你以后能减少它。
-
让我们退后一步 :) 物化视图已经回到实验模式,这意味着不推荐使用它们。我的建议?找到一种不同的方式来做你想做的事。 :)