我在 Cassandra 有一张桌子,里面几乎有80 million+
记录(可能不止这些)。我已经更新了 schama,它在表中添加了一个新列。现在我需要更新列值。我编写了一个迁移脚本来使用cassandra-driver
. 试过了batching
,token
但是数据太大了,需要 3 多个小时并且仍然没有更新记录(过程在 2-3 小时后终止。)处理这种类型的迁移的最佳方法是什么?有没有其他方法可以实现这一目标?
问问题
63 次
1 回答
1
通常对于此类事情,使用 Spark 会更容易(尽管我不确定它是否适用于 Amazon Keyspaces)。正确进行范围扫描非常困难 - 您需要处理边缘情况等(我有一个 Java 驱动程序示例,它使用与Spark Cassandra 连接器和DSBulk相同的算法)。
您可以将Python 与 Spark和 Cassandra 连接器一起使用来更新您的数据 - 更新的复杂性将取决于您的算法。
另一种方法是将逻辑放入您的应用程序 - 如果它从 Cassandra 接收null
给定列,您可以返回计算值。
于 2021-04-23T18:02:10.210 回答