aerospike Spark 连接器,用于插入大型数据集

问题描述 投票:0回答:1

我正在使用 Spark 作业将 10 亿条记录插入到 Aerospike 中。我为此使用 Spark Aeropsike 连接器。该作业计划每天运行。每当作业运行时,它都会提高 aeropsike 集群上的 CPU 利用率(最高可达 90%)。我试图了解我们如何限制速率。因此,文档建议采用以下方法来限制写入速率。 https://aerospike.com/docs/connect/spark/rate-limiting

任何人都可以向我解释一下如果我使用 16 核机器并假设交易速率为 100,则如何应用速率限制。在这种情况下,写入 qps 会是多少,如果有任何其他参数,我可以调整以限制我的写入。

aerospike
1个回答
0
投票

您似乎想要配置

aerospike.transaction.rate
属性(根据 性能配置 部分的文档)。从该参数的描述来看,总写入 qps 应限制为
aerospike.transaction.rate
x
number of spark partitions
。通过提到您正在 16 核计算机上运行 Spark 作业,我假设这将转换为 16 个 Spark 分区(这里我可能是错的)。如果是这种情况,我预计最大写入吞吐量为每秒 100 x 16 = 1600 次写入。你有没有发现什么不一样的地方?

话虽如此,CPU 飙升的原因可能与吞吐量本身没有直接关系,但也可能是由于(例如)以不必要的高速率建立(或重新建立)连接而引起的(特别是在利用 TLS 的情况下) )并且可以进行不同的调整(例如,如果有任何事务超时,则可以设置更宽松的超时)或不同的压缩或加密设置(如果利用 Aerospike 集群上的设置)。

© www.soinside.com 2019 - 2024. All rights reserved.