2

是否可以从 spark 并行写入 Redis?

(或:如何从 spark 中快速编写数万个键/列表)

目前,我正在按顺序向 Redis 写信,并且需要永远。我需要写大约 90000 个列表(长度为 2-2000)。速度极其重要。目前,它大约需要 1 小时。Redis 的传统基准声称每秒有数千次 Redis 写入,但在我的管道中,我离这个还很远。

任何帮助表示赞赏。

4

1 回答 1

2

单个 Redis 实例在一个线程中运行,因此操作本质上是顺序的。如果您有一个 Redis 集群,那么写入数据的实例取决于根据正在写入的键计算的哈希槽。这个散列函数(除其他外)确保负载分布在集群中的所有 Redis 实例中。如果您的集群有 N 个实例,那么您(几乎)最多可以执行 N 个并行写入。这是因为每个集群实例仍然是一个线程。一个合理的 Spark Redis 连接器应该有效地利用集群。

无论哪种方式,Redis 都非常快,尤其是在您使用大量插入的情况下。

于 2016-04-17T11:53:43.507 回答