从CSV复制 - 没有找到列家庭

时间:2014-03-28 00:47:06

标签: cassandra cqlsh

我花了两天时间查看本网站和其他一些网站上的可用答案。 我需要帮助以解决我遇到的以下(COPY FROM CSV文件)问题。我创建了KEYSPACECOLUMN FAMILY没有任何问题,但是当我尝试将CS​​V文件复制到表/列系列时,我收到了COLUMN FAMILY NOT FOUND。我已经包含了我在下面使用的语法。我真的很感谢帮助解决这个问题。 (Cassandra 2.0.6,CQL3.1.1)

我是CQLSH的新手。

CREATE KEYSPACE KS_TERA
  WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };

CREATE COLUMNFAMILY TERA
         (BIT_ID int PRIMARY KEY,
    YEAR int ,  
    DAY_OF_MONTH int ,
    BIT_DATE timestamp ,
    COMP_ID int ,
    CARRIER varchar ,
    CARRIER_NUM int ,
    ORIGIN_SHIP_ID int 
         )
          WITH COMPACT STORAGE;

COPY TERA FROM ‘TERA.CSV’  WITH DELIMITER = ‘,’ AND HEADER = FALSE;

我收到COLUMN FAMILY NOT FOUND错误。

2 个答案:

答案 0 :(得分:1)

您是否使用以下查询复制到列族?如果没有,那么尝试它将按照你的期望工作。

COPY keyspace.columnfamily1 (column1, column2,...) TO 'temp.csv';
COPY keyspace.columnfamily2 (column1, column2,...) FROM 'temp.csv';

答案 1 :(得分:1)

那是因为COPY命令区分大小写,您必须在命令中替换table(列族)及其列的名称,如下所示:

COPY tera FROM ‘TERA.CSV’  WITH DELIMITER = ‘,’ AND HEADER = FALSE;

如果你有列,那么就像这样:

COPY tera (column1, column2, ... , columnn) FROM ‘TERA.CSV’  WITH DELIMITER = ‘,’ AND HEADER = FALSE;

希望现在有人帮助...