是否有火花卡桑德拉連接器的方式來實現所述側端過濾,它等效於每分區限制在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