我是cassandra db的新手,我正在尝试将数据从csv文件导入cassandra,我执行以下命令,导入表,首先我使用
创建表create table cdma_mkt_bte(date_value timestamp primary key,region varchar,vendor varchar);
然后使用
复制使用HEADER = TRUE从'/ usr / share / dse / bin / cdma_mkt_bte'复制cdma_mkt_bte(date_value,region,vendor);
问题是csv文件中的表有大约43,000行,而只有211行被导入cassandra,我看了211和212行,看看是否有奇怪的事情,似乎没问题。你能帮我么?以及将csv导入cassandra数据库的其他选项是什么。
谢谢!真的很感激帮助!
答案 0 :(得分:1)
您的主键似乎是date_value。 cassandra中的所有插入和更新基本上都是主键上的upsert。如果两个记录具有相同的主键,则第二个记录将覆盖第一个。如果唯一标识记录的方法是date_value + region + vendor,那么您的架构应该如下:
create table cdma_mkt_bte (date_value timestamp, region varchar, vendor varchar,
primary key (date_value, region, vendor));
这可能是您没有获得预期数量的记录的原因吗?
答案 1 :(得分:0)
本文档中描述了可用于COPY命令的选项:
继续在CSV文件中查找问题。检查一行末尾的隐藏字符。我想我记得一个导致问题的尾随空格。该问题可能未完全位于COPY命令报告的位置。我在Excel中打开了CSV并显示了问题。