Spark Cassandra 连接器控制每秒读取次数

Spark Cassandra connector control number of reads per sec

我是 运行 spark 应用程序,它在 Cassandra 上执行直接连接 table

我正在尝试控制每秒的读取次数,以便长时间 运行 作业不会影响整个数据库 这是我的配置参数

--conf spark.cassandra.concurrent.reads=2
--conf spark.cassandra.input.readsPerSec=2
--conf spark.executor.cores=1
--conf spark.executor.instances=1
--conf spark.cassandra.input.fetch.sizeInRows=1500

我知道我不会从每个分区读取超过 1500 行 然而,尽管所有阈值每秒读取都超过 200-300

是否还有其他需要开启的标志或配置

似乎 CassandraJoinRDD 在使用 spark.cassandra.input.readsPerSec 进行节流时存在错误,有关详细信息,请参阅 https://datastax-oss.atlassian.net/browse/SPARKC-627。 同时使用 spark.cassandra.input.throughputMBPerSec 来限制您的加入。请注意,节流基于 RateLimiter class,因此节流不会立即启动(您需要至少读取 throughputMBPerSec 的数据才能开始节流)。这是 SCC 可能会改进的地方。