输入获取大小

t40tm48m  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(362)

我用的是Cassandra3.11.4和spark 2.3.3。当我用joinwithcassandratable查询大量的分区键(在3个月的时间里,minute是partition key=33024*60分区键)时,我在cassandra debug.log下看到了很多慢超时日志,比如:

<SELECT * FROM event_keyspace.event_table WHERE partitionkey1, partitionkey2 = value1, value2 AND column_key = column_value1 LIMIT 5000>, time 599 msec - slow timeout 500 msec 

<SELECT * FROM event_keyspace.event_table WHERE partitionkey1, partitionkey2 = value5, value6 AND column_key = column_value5 LIMIT 5000>, time 591 msec - slow timeout 500 msec/cross-node

在加入cassandratable之前,我正在使用cassandrareplica的repartitionbycassandrareplica。
我看到磁盘io达到100%。如果我改变数据模型,将小时作为分区键,而不是分钟,那么将创建不适用的大分区。
我怀疑这个限制5000可能会导致这种情况,但即使我在\行中设置input.fetch.size\这个日志也没有改变。

sparkConf.set("spark.cassandra.input.fetch.size_in_rows", "20000");

我如何设置这个限制条款?

anauzrmj

anauzrmj1#

你试过缩小spark.cassandra.input.split.size吗?因为所有的数据都在同一个分区下。

相关问题