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

标签 python python-3.x cassandra cql cqlsh

在特定实例中,我使用 CQL Shell 使用 COPY 从 csv 文件导入 10 万行。平均耗时约 5.695 秒。速率:17559 行/秒。

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

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

最佳答案

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

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

尽管如此,它在这一点上已经进行了相当程度的优化。它执行的操作包括分割并发工作的 token 范围、自定义负载均衡器策略以及一些较低级别的增强功能。如果可以的话,它还会将 python cythonizes 为 native 代码。

关于python - 使用 shell 和 python 驱动程序导入 Cassandra 数据的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37857078/

相关文章:

nosql - Cassandra 中的 MAX()、DISTINCT 和 group by

python - 使用 python 创建 bash 文件

python - 通过循环抓取不同的日期

python - 用 NaN 连接 Pandas 中的两列

Python Robotparser 超时等价物

Cassandra - 一致性顺序

Docker 容器重启不丢失数据

使用 numpy.empty 时出现 Python MemoryError

python - 如果日期间隔大于 N 秒,则用最后一个值填充列表

python - 与多级索引数据帧一起使用时 pd.DataFrame.drop 的意外行为