perpartitionlimit

bq9c1y66  于 2021-05-27  发布在  Spark
关注(0)|答案(2)|浏览(277)

spark-cassandra连接器中有没有一种方法可以实现side-side过滤,它相当于cql中的每个分区限制或本机cassandra java驱动程序中的perpartitionlimit?
注意,这里是每个cassandra分区的limit,而不是每个spark分区(连接器中现有的limit函数支持)。
Spark2.0.1,连接器-2.0.0-m3

khbbv19g

khbbv19g1#

感谢russs最初的回答。我使用以下方法使其工作:
首先,我们需要使用“每个分区限制”。
其次,如果您有其他where子句,则需要将其与其中一个组合,如下所示:
sc.cassandratable(…)。其中(“event_type=1 per partition limit 5”)
而不是
sc.cassandratable(…).where(“事件类型=1”).where(“每个分区限制5”)
否则将在“每个分区限制”之前生成and关键字,这将导致错误。

ffvjumwh

ffvjumwh2#

spark cassandra连接器内置的limit api(从2.0.0-m3开始)只能限制c*令牌范围。
如果您使用的是大于3.6的cassandra,则可以在 .where 应用程序编程接口。
看到了吗https://issues.apache.org/jira/browse/cassandra-7017

sc.cassandraTable(...).where("PER PARTITION LIMIT 10")

相关问题