我花了两天时间查看本网站和其他一些网站上的可用答案。
我需要帮助以解决我遇到的以下(COPY FROM
CSV文件)问题。我创建了KEYSPACE
和COLUMN FAMILY
没有任何问题,但是当我尝试将CSV文件复制到表/列系列时,我收到了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
错误。
答案 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;
希望现在有人帮助...