标签: cql3

卡桑德拉选择性副本

我想将列家族中的选定行复制到.csv文件中.copy命令可用于将列或整个表转储到没有where子句的文件.有没有办法在copy命令中使用where子句?

我想到的另一种方式是,

"插入table2()值(select * from table1 where <where_clause>);" 然后将table2转储到.csv,这也是不可能的.

任何帮助将非常感激.

cql cassandra cql3

11
推荐指数
2
解决办法
7695
查看次数

我可以在cassandra中的多个列上创建二级索引

我可以在cassandra中的多个列上创建二级索引吗?我可以这样做

在my_column_family上创建索引my_composite_index(id,name)

CQL抛出错误

:2:错误请求:第1:73行不匹配输入','期待')'

cql cassandra cql3

11
推荐指数
2
解决办法
1万
查看次数

如何仅使用分区键更新cassandra中的行?

我的桌子看起来像这样

create table Notes(
    user_id varchar,
    real_time timestamp,
    insertion_time timeuuid,
    read boolean PRIMARY KEY (user_id,real_time,insertion_time)
);

create index read_index on Notes (read);
Run Code Online (Sandbox Code Playgroud)

我想更新所有USER_ID ="XXX" ,而不指定所有聚类索引.

UPDATE Notes SET read = true where user_id = 'xxx'; // Says Error
Run Code Online (Sandbox Code Playgroud)

错误:message ="缺少必需的PRIMARY KEY部分real_time

我尝试过创建二级索引,但主键上不允许这样做.

我怎么解决这个问题?

我选择user_id作为主键,因为我希望能够做到这一点select * from Notes where user_id = 'xxx'.

cql cassandra nosql cql3 datastax

11
推荐指数
1
解决办法
7266
查看次数

如果在cassandra 1.2/Cql3中不鼓励动态列,那么它在功能上如何比Mysql更好?

最初我开始学习Cassandra,因为动态栏引起了我的注意.当我开始学习更多内容时,我了解到复合主键优先于动态列,而Cassandra正在转向基于模式(Schema是可选的,不是强制性的,但建议使用).在cql3中,它是强制性的,我读cql3是cassandra中新应用程序的最佳方法.

这是我面临一个有趣问题的地方.我正在阅读一个特定的幻灯片(Mysql vs Casssandra) - http://lanyrd.com/2012/austin-mysql-meetup-january/spdrx/(跳转到31幻灯片),讨论欺诈检测用例.

"在欺诈检测中为了计算风险,通常需要知道有关帐户的所有电子邮件,目的地,来源,设备,地点,电子邮件等等."

它解释了我们如何在关系世界中维护电子邮件,目的地,起源等的单独表格,以及使用动态列密钥和值在cassandra世界中是多么容易.(31-34张幻灯片).

既然动态列键和值不鼓励,我们怎样才能解决这个问题呢?我们应该为每封电子邮件,目的地等维护单独的列系列吗?那它与关系世界有什么不同呢?它只是关于可扩展性吗?我们还能继续采用架构方法吗?这是一个黄金法则"架构是可选的,建议但不是强制性的?"

谢谢

cassandra cql3

10
推荐指数
1
解决办法
4648
查看次数

使用CQL3在Cassandra中插入任意列

在CQL3之前,可以插入任意列,例如由日期命名的列:

cqlsh:test>CREATE TABLE seen_ships (day text PRIMARY KEY)
                WITH comparator=timestamp AND default_validation=text;
cqlsh:test>INSERT INTO seen_ships (day, '2013-02-02 00:08:22')
                VALUES ('Tuesday', 'Sunrise');
Run Code Online (Sandbox Code Playgroud)

根据这篇文章,CQL3似乎有所不同.是否仍然可以插入任意列?这是我失败的尝试:

cqlsh:test>CREATE TABLE seen_ships (
    day text,
    time_seen timestamp,
    shipname text,
    PRIMARY KEY (day, time_seen)
);

cqlsh:test>INSERT INTO seen_ships (day, 'foo') VALUES ('Tuesday', 'bar');
Run Code Online (Sandbox Code Playgroud)

我来了 Bad Request: line 1:29 no viable alternative at input 'foo'

所以我尝试了一个稍微不同的表,因为这可能是复合键的限制:

cqlsh:test>CREATE TABLE seen_ships ( day text PRIMARY KEY );
cqlsh:test>INSERT INTO seen_ships (day, 'foo') VALUES ('Tuesday', 'bar');
Run Code Online (Sandbox Code Playgroud)

再次与 Bad Request: line 1:29 …

cql cassandra cql3

10
推荐指数
1
解决办法
9337
查看次数

使用CQL3迭代Cassandra宽行

如何使用CQL3引入一系列复合列?

考虑以下:

CREATE TABLE Stuff (
    a int,
    b text,
    c text,
    d text,
    PRIMARY KEY (a,b,c)
);
Run Code Online (Sandbox Code Playgroud)

在Cassandra中,这实际上有效地创建了一个具有整数行(值为a)和CompositeColumns的ColumnFamily,其中包含b和c的值以及文字字符串'd'.当然,这一切都被CQL3所掩盖,因此我们会认为我们正在插入单独的数据库行......但我离题了.

并考虑以下一组输入:

INSERT INTO Stuff (a,b,c,d) VALUES (1,'A','P','whatever0');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'A','Q','whatever1');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'A','R','whatever2');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'A','S','whatever3');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'A','T','whatever4');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'B','P','whatever5');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'B','Q','whatever6');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'B','R','whatever7');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'B','S','whatever8');
INSERT INTO Stuff (a,b,c,d) …
Run Code Online (Sandbox Code Playgroud)

cql cassandra cql3

10
推荐指数
1
解决办法
6848
查看次数

卡桑德拉非反家庭

我试图执行以下CQL 3语句

 CREATE TABLE summary (
                id uuid,
                "client" bigint, 
                "campaign" text, 
                "unit" bigint,
                "view" counter,
                PRIMARY KEY ("client", "campaign", "unit"));
Run Code Online (Sandbox Code Playgroud)

我得到的错误是我无法在非计数器列族上创建计数器列.

有任何想法吗?

cql cassandra cql3

10
推荐指数
2
解决办法
2471
查看次数

Cassandra Java Driver:如何报告插入,更新和删除结果?

我正在编写一个应用程序,我需要能够判断插入和更新是否成功.我正在使用"INSERT ... IF NOT EXISTS"来获得轻量级事务行为并注意到从execute返回的结果集包含一行包含更新的数据和一个可以查询的"[applied]"列.那样太好了.但是我有一个返回空ResultSet的更新语句.似乎更新成功,但我想要一种程序化的方法来验证.

澄清:

我打开了一些由我的突变返回的结果集的记录.我发现"INSERT ... IF NOT EXIST"返回一个带有名为"[applied]"的布尔列的ResultSet.如果"[applied]"为false,则还返回已退出的行.

使用UPDATE,我总是看到一个空的ResultSet.

所以我有两个问题:

  1. 关于每种类型的突变应该包含ResultSet的文档在哪里?我没有在CQL文档或Java Driver文档中看到它.我甚至尝试查看其他语言集成的文档,但没有找到任何有关突变的ResultSet内容的描述.
  2. 有没有办法找出UPDATE修改了多少行或DELETE删除了多少行?

java cassandra cql3

10
推荐指数
1
解决办法
7945
查看次数

CQL3现在需要Cassandra的架构吗?

我上周刚刚参加了Cassandra的速成课程,从Thrift API到CQL到了SuperColumns,我不应该使用它们和用户复合键.

我现在正在尝试CQL3,看起来我不能再插入未在架构中定义的列,或者看到那些列中的列 select *

我错过了一些在CQL3中启用它的选项,或者它是否希望我定义模式中的每一列(忽略宽,灵活行的目的,imho).

cql cassandra cql3

9
推荐指数
2
解决办法
3621
查看次数

Cassandra CQL中的Where和Order By子句

我是NoSQL数据库的新手,刚刚开始使用apache Cassandra.我在"empno"列上创建了一个带有主键的简单表"emp".这是一个简单的表,因为我们总是使用Oracle的默认scott模式.

现在我使用COPY命令和已发出的查询加载数据,Select * from emp order by empno但我很惊讶CQL不允许按empno列排序(这是PK).此外,当我使用Where条件时,它不允许在empno列上进行任何不等式操作(它表示只允许EQ或IN条件).它也没有允许任何其他列的Where和Order by,因为它们没有在PK中使用,并且没有索引.

如果我想empno在表中保持唯一并希望查询结果按排序顺序,有人可以帮助我该怎么办empno

(我的版本是:

cqlsh:demodb> show version [cqlsh 5.0.1 | Cassandra 2.2.0 | CQL spec 3.3.0 | Native protocol v4] )

cql cassandra cql3

9
推荐指数
2
解决办法
2万
查看次数

标签 统计

cassandra ×10

cql3 ×10

cql ×8

datastax ×1

java ×1

nosql ×1