cassandra执行顺序中的复制命令

时间:2015-12-15 23:41:17

标签: cassandra-2.1

我正在将csv文件复制到cassandra。我有下面的csv文件,表格如下所示。

CREATE TABLE UCBAdmissions(
    id int PRIMARY KEY,
    承认文字,
    部门文本,
    freq int,
    性别文字

  1. 我用的时候
      

    从'UCBAdmissions.csv'复制UCBAdmissions与DELIMITER =','和HEADER = TRUE;

  2. 输出为
    24行导入0.318秒 cqlsh>从UCBAdmissions中选择*;

    id |承认|部门|频率|性别
    ---- + ------- + ------ + ------ + --------

    (0行)

    1.   

      从'UCBAdmissions.csv'复制UCBAdmissions(id,admit,gender,dept,freq)WITH DELIMITER =','AND HEADER = TRUE;

    2. 输出为
      24行导入0.364秒 cqlsh>从UCBAdmissions中选择*;

      id |承认|部门|频率|性别
      ---- + ---------- + ------ + ------ + --------
       23 |录取| F | 24 |女
        5 |录取| B | 353 |男
       10 |拒绝了| C | 205 |男
       16 |拒绝了| D | 244 |女
       13 |录取| D | 138 |男
       11 |录取| C | 202 |女
        1 |录取| A | 512 |男
       19 |录取| E | 94 |女
        8 |拒绝了| B | 8 |女
        2 |拒绝了| A | 313 |男
        4 |拒绝了| A | 19 |女
       18 |拒绝了| E | 138 |男
       15 |录取| D | 131 |女
       22 |拒绝了| F | 351 |男
       20 |拒绝了| E | 299 |女
        7 |录取| B | 17 |女
        6 |拒绝了| B | 207 |男
        9 |录取| C | 120 |男
       14 |拒绝了| D | 279 |男
       21 |录取| F | 22 |男
       17 |录取| E | 53 |男
       24 |拒绝了| F | 317 |女
       12 |拒绝了| C | 391 |女
        3 |录取| A | 89 |女性

      UCBAdmissions.csv

      “”, “承认”, “性别”, “部门”, “频率”
      “1”, “入院”, “男性”, “A”,512
      “2”, “被拒绝”, “男性”, “A”,313
      “3”, “入院”, “女性”, “A”,89
      “4”, “被拒绝”, “女性”, “A”,19
      “5”, “入院”, “男性”, “B”,353
      “6”, “被拒绝”, “男性”, “B”,207
      “7”, “入院”, “女性”, “B”,17
      “8”, “被拒绝”, “女性”, “B”,8
      “9”, “入院”, “男性”, “C”,120个
      “10”, “被拒绝”, “男性”, “C”,205个
      “11”, “入院”, “女性”, “C”,202个
      “12”, “被拒绝”, “女性”, “C”,391个
      “13”, “入院”, “男”, “d”,138
      “14”, “被拒绝”, “男”, “d”,279
      “15”, “录取”, “女”, “d”,131
      “16”, “被拒绝”, “女性”, “d”,244
      “17”, “入院”, “男性”, “E”,53
      “18”, “被拒绝”, “男性”, “E”,138
      “19”, “入院”, “女性”, “E”,94
      “20”, “拒绝”, “女”, “E”,299
      “21”, “入院”, “男性”, “F”,22
      “22”, “被拒绝”, “男性”, “F”,351
      “23”, “录取”, “女”, “F”,24
      “24”,“被拒绝”,“女性”,“F”,317

      如上所示,我看到输出顺序从csv文件更改。
      问题:1和2有什么区别?我们应该遵循与csv文件相同的顺序来在cassandra中创建表吗?

1 个答案:

答案 0 :(得分:0)

Cassandra旨在分发 - 为了实现这一点,它使用表格的分区键(id)并使用群集的分区程序(可能Murmur3Partitioner)对其进行哈希处理一个整数(实际上是一个Long),然后使用该整数将它分配给环中的一个节点。

您所看到的是由结果令牌排序的结果,这是非直观的,但不一定是错误的。在Cassandra中没有直接的方法来做SELECT * FROM table ORDER BY primaryKey ASC - 分布式的性质使得难以有效地完成。