5

在过去的两天里,我一直在检查这个网站和其他一些网站上的可用答案。我需要帮助COPY FROM解决我遇到的以下(CSV 文件)问题。我创建了KEYSPACEandCOLUMN FAMILY没有任何问题,但是COLUMN FAMILY NOT FOUND当我尝试将 CSV 文件复制到表/列族中时收到一个。我在下面包含了我正在使用的语法。我真的很感谢帮助解决这个问题。(卡桑德拉 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错误。

4

2 回答 2

2

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

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

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

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

希望现在对某人有所帮助...

于 2014-11-10T22:08:28.227 回答
1

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

COPY keyspace.columnfamily1 (column1, column2,...) TO 'temp.csv';
COPY keyspace.columnfamily2 (column1, column2,...) FROM 'temp.csv';
于 2014-03-28T05:37:46.387 回答