我正在解析我的应用程序中的数千个csv文件,对于每个解析的行,我正在向cassandra中进行插入。似乎在运行之后,它会在2048个inserts处停止并抛出busyconnection错误。
对我来说,做100万个插页的最好方法是什么?
我是否应该将插入作为字符串导出到一个文件中,然后直接从cql运行该文件以进行这些大量插入,这样我就不会通过网络进行操作了?
最佳答案
我们使用脚本解决这些问题。
脚本通过输入数据…
每次它都从输入中获取特定数量的数据。
等待特定的时间。
继续读取和插入数据。
广告1。对于我们的配置和数据(最多10列,大部分是数字和短文本),我们发现500到1000行是最佳的。
广告2。我们将等待时间定义为n*t,其中n是在一次脚本运行中处理的行数。t是时间常数,单位为毫秒。t的值很大程度上取决于您的配置;但是,对于我们来说,t=70ms足以使过程平滑。