使用 shell 和 python 驱动程序的 Cassandra 数据导入时间

Cassandra data import time using shell and python driver

在一个特定的实例中,我使用 CQL Shell 使用 COPY 从 csv 文件导入 100k 行。平均耗时约 5.695 秒。率:17559 rows/s。

如果我使用 Cassandra Python driver 插入相同的数据,execute_async 将花费大约 13 秒。那为什么会有这么大的差异呢?

我是 运行 默认 Cassandra Win 10 X64 本地主机。也许它与集群中的节点数量有关,或者可以从使用批处理中受益?

Cqlsh使用CassandraPython驱动,最终是调用execute_async,可以查看源码:

https://github.com/apache/cassandra/blob/trunk/pylib/cqlshlib/copyutil.py https://github.com/apache/cassandra/tree/trunk/pylib/cqlshlib

虽然它在这一点上进行了相当大的优化。它可以为并发工作拆分令牌范围、自定义负载均衡器策略和一些较低级别的增强功能。如果可以的话,它还会将 python 转化为本机代码。