2

我写作是因为我对 cassandra 有疑问;从 pentaho 导入数据后,如下所示 http://wiki.pentaho.com/display/BAD/Write+Data+To+Cassandra

当我尝试执行查询 Select * FROM mytable;

cassandre 给我一条错误消息 位置 7 的语法错误:Select * FROM mytable; 的意外“*”。

并且不显示查询结果。为什么?那个错误是什么意思?

4

1 回答 1

2

我所做的步骤如下:

  1. 启动 cassandra cli 实用程序;
  2. 使用从 pentaho 添加的键空间;(使用 tpc_h);
  3. 选择显示添加的数据(Select * FROM mytable;)

cassandra-cli 不支持任何 CQL 版本。它有自己的语法,您可以在 datastax 的网站上找到。

为清楚起见,在 cql 中从名为mytable的表(又名列族)中选择所有内容,该表存储在名为myks的键空间中,您将使用:

SELECT * FROM myks.mytable;

cassandra-cli 中的等价物*大致为:

USE myks;
LIST mytable;


***** 在 cli 中,您只能选择前 100 行。如果这是一个问题,您可以使用该limit子句来指定您想要的行数:

LIST mytable limit 10000;

至于这个:

在 cassandra 中,我读过不可能进行诸如 sql 之类的连接,因此没有捷径可以解决这个缺点

Cassandra 中不存在连接是有原因的,这与 C* 不符合 ACID 的原因相同,它牺牲了该功能以获得惊人的性能和可扩展性,因此这不是缺点,您只需要重新-如果您需要连接,请考虑您的模型。也看看这个问题/答案

于 2013-06-24T09:43:11.870 回答