【问题标题】:Cassandra table schema changingCassandra 表架构更改
【发布时间】:2017-09-15 18:08:09
【问题描述】:

我正在使用 Datastax Cassandra3.0 在使用 cqlsh 模式在 cassandra 中创建表时,正在更改列名按字母顺序排列。请看下文。

这是创建表时的结构..

cqlsh> CREATE TABLE tutorialspoint.SupplierItemData_input15(partnumber BIGINT PRIMARY KEY,

...供应商文本,

...monthyear varchar,

...分配整数,

...更新日期,

... paymentterms int,

...实际天数,

...百分比支付整数,

... 变量 int,

...支付条款摘要文本,

... copq int,

...年份整数,

...月份整数,

...发布日期);

但是当我检查 DESCRIBE TABLE NAME 时结构正在改变

cqlsh> DESCRIBE tutorialspoint.SupplierItemData_input15;

CREATE TABLE tutorialspoint.supplieritemdata_input15 (

partnumber bigint PRIMARY KEY,

实际天数,

分配整数,

copq 整数,

更新日期,

月份整数,

月年文本,

paymentterms int,

paymentterm摘要文本,

percentageofpayment int,

发布日期,

供应商文本,

变量 int,

整数年

)

Bloom_filter_fp_chance = 0.01

AND 缓存 = {'keys': 'ALL', 'rows_per_partition': 'NONE'} 和评论 = '' AND 压缩 = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'} AND 压缩 = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'} 和 crc_check_chance = 1.0 AND dclocal_read_repair_chance = 0.1 和 default_time_to_live = 0 和 gc_grace_seconds = 864000 AND max_index_interval = 2048 和 memtable_flush_period_in_ms = 0 和 min_index_interval = 128 和 read_repair_chance = 0.0 AND speculative_retry = '99PERCENTILE';

请帮帮我。

谢谢你 拉维

【问题讨论】:

  • 重新排列架构的视图与更改架构不同...并且由Cassandra 按字母顺序存储其列(在集群键之后)的方式...
  • 根据我创建的表结构的 csv 文件,如果它按字母顺序存储意味着在将 csv 文件加载到表中时数据类型将不匹配并显示错误
  • 你不应该使用索引。您应该始终使用列名...

标签: cassandra


【解决方案1】:

如果您想使用 cqlsh COPY 从 csv 文件导入数据,那么您应该将列名添加为 csv 文件顶部的标题。这样,默认情况下它们的顺序无关紧要。

【讨论】:

    猜你喜欢
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 2022-10-14
    相关资源
    最近更新 更多