【问题标题】:Create Columnfamily problem with Cassandra from CLI从 CLI 使用 Cassandra 创建列族问题
【发布时间】:2020-07-24 10:43:56
【问题描述】:

我是 Cassandra 和 noSQL 数据库的初学者。对于我的考试,我必须纠正教授给我的一些指示。我已经纠正了其中的一些问题,但现在我无法解决这个问题:

cqlsh> create COLUMNFAMILY post
   ... with comparator = UTF8Type
   ... and read_repair_chance = 0.1
   ... and keys_cached = 100
   ... and gc_grace = 0
   ... and min_compaction_threshold = 5
   ... and max_compaction_threshold = 31

我从 CLI 收到此错误:

SyntaxException: line 2:0 mismatched input 'with' expecting '(' (create COLUMNFAMILY post[with] comparator...)

如果有人可以帮助我,我将非常感激。

我希望可以理解,因为我的英语不是很好

【问题讨论】:

  • 请不要使用列族等 - 这是遗留的东西,在新版本中已停产。对表定义等使用 CQL(Cassandra 查询语言)

标签: database cassandra nosql cql cqlsh


【解决方案1】:

您的列族定义或表定义(这是 Cassandra 表的最新术语)缺少实际列和主键,并且您似乎将列定义(比较器 = UTF8Type)与表选项混合在一起,例如 read_repair_chance 和 gc_grace_period。

所有 Cassandra 表必须至少有一个主键列。

要使用默认表选项在键空间 ks 中创建最小表 post,您可以这样做:

CREATE TABLE ks.post (comparator text PRIMARY KEY);

检查表定义和设置表选项的完整语法:

describe table ks.post;

CREATE TABLE ks.post (
    comparator text PRIMARY KEY
) WITH bloom_filter_fp_chance = 0.01
    AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
    AND comment = ''
    AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
    AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
    AND crc_check_chance = 1.0
    AND default_time_to_live = 0
    AND gc_grace_seconds = 864000
    AND max_index_interval = 2048
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND speculative_retry = '99PERCENTILE';

注意:如果您使用默认表选项,则不必在表创建命令中指定它们。

有关表创建的文档,请查看此处,例如: https://docs.datastax.com/en/dse/5.1/cql/cql/cql_reference/cql_commands/cqlCreateTable.html

或在这里: http://cassandra.apache.org/doc/latest/cql/ddl.html#create-table

【讨论】:

    猜你喜欢
    • 2013-12-06
    • 2014-03-03
    • 2012-02-01
    • 2013-08-27
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    相关资源
    最近更新 更多