是否有火花卡桑德拉连接器的方式来实现所述侧端过滤,它等效于每分区限制在CQL或perPartitionLimit在天然卡桑德拉Java驱动程序?火花卡桑德拉连接器 - perPartitionLimit
请注意,这里是每个cassandra分区的限制不是每个spark分区(连接器中现有的限制功能支持)。
火花2.0.1,连接器 - 2.0.0-M3
是否有火花卡桑德拉连接器的方式来实现所述侧端过滤,它等效于每分区限制在CQL或perPartitionLimit在天然卡桑德拉Java驱动程序?火花卡桑德拉连接器 - perPartitionLimit
请注意,这里是每个cassandra分区的限制不是每个spark分区(连接器中现有的限制功能支持)。
火花2.0.1,连接器 - 2.0.0-M3
的Spark卡桑德拉连接器内置于限制API(如2.0.0-M3的)只能由C *令牌区间的上限。
如果您使用的Cassandra大于3.6,则可以在.where
API中手动添加每个分区限制。
见https://issues.apache.org/jira/browse/CASSANDRA-7017
sc.cassandraTable(...).where("PER PARTITION LIMIT 10")
感谢来自RussS最初的答案。我通过以下方式使用它:
首先,我们需要使用“PER PARTITION LIMIT”。
第二,如果你有其他的where子句,这需要与他们的一个组合,如下:
sc.cassandraTable(...),其中( “EVENT_TYPE = 1元分区限制5” )
代替
sc.cassandraTable(...)。其中( “EVENT_TYPE = 1)。凡(” PER PARTITION LIMIT 5 “)
否则一个与关键字将被之前生成” PER PARTITION LIMIT“,这会导致错误。
感谢您的快速回答。但是,当它在api中指定时,关键字STATICLIMIT被视为列名,因此是错误。 引起:java.io.IOException:准备SELECT ... FROM ... WHERE token(“src”)>时的异常? AND token(“src”)<=? AND STATICLIMIT = 1 AND event_type = 1允许过滤:未定义的列名staticlimit。 Cassandra版本3.9 – ray
对不起,没有读完该票的结束。每个分区限制 – RussS