我写作是因为我对 cassandra 有疑问;从 pentaho 导入数据后,如下所示 http://wiki.pentaho.com/display/BAD/Write+Data+To+Cassandra
当我尝试执行查询 Select * FROM mytable;
cassandre 给我一条错误消息 位置 7 的语法错误:Select * FROM mytable; 的意外“*”。
并且不显示查询结果。为什么?那个错误是什么意思?
我写作是因为我对 cassandra 有疑问;从 pentaho 导入数据后,如下所示 http://wiki.pentaho.com/display/BAD/Write+Data+To+Cassandra
当我尝试执行查询 Select * FROM mytable;
cassandre 给我一条错误消息 位置 7 的语法错误:Select * FROM mytable; 的意外“*”。
并且不显示查询结果。为什么?那个错误是什么意思?
我所做的步骤如下:
- 启动 cassandra cli 实用程序;
- 使用从 pentaho 添加的键空间;(使用 tpc_h);
- 选择显示添加的数据(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 的原因相同,它牺牲了该功能以获得惊人的性能和可扩展性,因此这不是缺点,您只需要重新-如果您需要连接,请考虑您的模型。也看看这个问题/答案。