3

我在 Cassandra 有一张桌子,里面几乎有80 million+记录(可能不止这些)。我已经更新了 schama,它在表中添加了一个新列。现在我需要更新列值。我编写了一个迁移脚本来使用cassandra-driver. 试过了batchingtoken但是数据太大了,需要 3 多个小时并且仍然没有更新记录(过程在 2-3 小时后终止。)处理这种类型的迁移的最佳方法是什么?有没有其他方法可以实现这一目标?

令牌示例

4

1 回答 1

1

通常对于此类事情,使用 Spark 会更容易(尽管我不确定它是否适用于 Amazon Keyspaces)。正确进行范围扫描非常困难 - 您需要处理边缘情况等(我有一个 Java 驱动程序示例,它使用与Spark Cassandra 连接器DSBulk相同的算法)。

您可以将Python 与 Spark和 Cassandra 连接器一起使用来更新您的数据 - 更新的复杂性将取决于您的算法。

另一种方法是将逻辑放入您的应用程序 - 如果它从 Cassandra 接收null给定列,您可以返回计算值。

于 2021-04-23T18:02:10.210 回答