Datastax DSBulk 实用程序在将 CSV 数据加载到 Astra 时出现错误

Posted

技术标签:

【中文标题】Datastax DSBulk 实用程序在将 CSV 数据加载到 Astra 时出现错误【英文标题】:Datastax DSBulk Utility giving errors on load CSV data to Astra 【发布时间】:2021-11-21 11:21:32 【问题描述】:

我正在使用 DSBulk 实用程序将数据从 EC2 Cassandra 节点迁移到 DataStax Astra(高级帐户)。

使用的命令: dsbulk load -url folder_created_during_unload -header true -k keyspace -t table -b "secure-connect-file.zip" -u username -p password

该命令在几秒钟后给出错误。在查看文档时,我发现我可以在此命令中添加--executor.maxPerSecond 来限制加载。

在此之后,加载命令执行没有任何错误。但是如果我输入一个超过 15,000 的值,加载命令会再次开始给出错误。

现在,如果一个表有超过 100M 的条目,并且每秒迁移 15,000 个条目,那么完成一个表的迁移需要数小时和数小时。迁移完整的数据库需要几天时间。

我想了解导致此错误的原因以及是否有办法以更高的速度加载数据。

【问题讨论】:

你好维图尔!我已经将这个问题发给了我们那些花费大量时间与 DSBulk 合作的人。我们会尽快回复您。 在此期间,请随时在 LinkedIn 上与我联系。 linkedin.com/in/aaronploetz 【参考方案1】:

这里发生的情况是 DSBulk 正在达到数据库的速率限制。目前看来,提高速率限制的唯一方法是提交支持请求。

要提交工单,请查找 Astra 仪表板左侧导航的“其他资源”部分。点击底部的“获取支持”。

当“帮助中心”弹出时,点击右下角的“创建请求”。

在下一页上,单击右上角的绿色/青色“提交工单”按钮。描述您遇到的问题(速率限制)以及设置为超过 15k/秒时 DSBulk 输出的内容。

【讨论】:

嗨亚伦。谢谢你的信息。我已经提出了罚单。【参考方案2】:

为了补充 Aaron 的回复,您的 Astra DB 达到了每秒 4K 操作的默认限制。

上周,当我们检测到您已达到限制但尚未收到回复时,我们直接与您联系。我今天再次直接与您联系,让您知道我已代表您记录了一个请求,以增加您的数据库限制。干杯!

【讨论】:

嘿埃里克!谢谢你的更新。上周我收到了您的消息,但那次我正在通过免费的个人帐户对其进行测试。我现在已经创建了一个用于迁移的生产帐户 @VitulGoyal 我已通过另一个帐户与您联系。让我们在那里讨论。干杯!

以上是关于Datastax DSBulk 实用程序在将 CSV 数据加载到 Astra 时出现错误的主要内容,如果未能解决你的问题,请参考以下文章

用于 Apache Cassandra 安装的 DataStax Bulk Loader 1.7.0 在 Ubuntu 上不起作用

使用 DataStax 驱动程序构建查询

NoClassDefFoundError - Cassandra 的 datastax java 驱动程序

Datastax Cassandra Java 驱动程序 @QueryParameters fetchSize

cassandra 数据库 - 获取时间高于 Netflix Astyanax 驱动程序而不是 datastax 驱动程序

如何使用 datastax 驱动程序创建 Cassandra 连接池