我正在使用dsbulk
1.6.0 从cassandra
3.11.3 卸载数据。
每次卸载都会导致截然不同的行数。这是在同一个集群上连接到同一个 cassandra 主机的 3 次卸载调用的结果。被卸载的表只会被追加,数据永远不会被删除,所以卸载的行数不会减少。集群中有 3 个 cassandra 数据库,复制因子为 3,因此所有数据都应存在于所选主机上。此外,这些都是快速连续执行的,添加的行数将是数百(如果有的话)而不是数万。
运行 1:
│ 总计 | 失败 | 行/秒 | p50ms | p99ms | p999ms
│ 10,937 | 7 | 97 | 15,935.46 | 20,937.97 | 20,937.97
│ 操作 UNLOAD_20201024-084213-097267 在 1 分 51 秒内完成了 7 个错误。
运行 2:
│ 总计 | 失败 | 行/秒 | p50ms | p99ms | p999ms
│ 60,558 | 3 | 266 | 12,551.34 | 21,609.05 | 21,609.05
│ 操作 UNLOAD_20201025-084208-749105 在 3 分 47 秒内完成了 3 个错误。
运行 3:
│ 总计 | 失败 | 行/秒 | p50ms | p99ms | p999ms
│ 45,404 | 4 | 211 | 16,664.92 | 30,870.08 | 30,870.08
│ 操作 UNLOAD_20201026-084206-791305 在 3 分 35 秒内完成 4 个错误。
似乎Run 1
缺少大部分数据。Run 2
可能更接近完成并且Run 3
缺少重要数据。
我调用卸载如下:
dsbulk unload -h $CASSANDRA_IP -k $KEYSPACE -t $CASSANDRA_TABLE > $DATA_FILE
我假设这不是dsbulk
. 如何配置它以可靠地卸载完整的表而不会出错?