我有一个csv文件,大约有30列和1百万行(大小不到1GB)。
我在localhost上使用单个机器/节点,我的键空间有:
WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor' : 1};
列大多是双打的,有几个字符串。
我尝试了两种方法使用默认的cassandra.yaml将其加载到cassandra中:
1)直接使用CQL
中的COPY
函数
2)使用包含CQL的cqlengine python驱动程序,在一组破碎的csv文件中使用多个脚本和批处理插入
这两种方法似乎都花了一个多小时在linux / windows上使用默认的cassandra设置。这真的是我应该期待的速度吗?我期待着几分钟的事情。
如果没有,我应该关注哪些关键选项,或者如何快速诊断瓶颈是什么?这似乎是一个微不足道的用例(诚然不是Cassandra的焦点),所以我很难理解为什么它应该如此具有挑战性。
我尝试过禁用提交日志,并更改其他选项。我试图了解这次演出的来源。
答案 0 :(得分:1)
您可能会发现http://datastax.github.io/python-driver/performance.html有用。将COPY FROM
从同步执行切换到回调链,使性能提高了10倍