簡體   English   中英

Spark on Cassandra:有沒有辦法按分區鍵刪除數據?

[英]Spark on Cassandra : is there a way to remove data by partition key?

spark Cassandra 連接器具有RDD.deleteFromCassandra(keyspaceName, tableName)方法。

RDD 中的值被解釋為主約束。

我有一張這樣的桌子:

CREATE TABLE table (a int, b int, c int, PRIMARY KEY (a,b));

如您所見, apartition keybclustering key

我需要有一個通過partition_key有效刪除的spark app ,而不是通過primary key

事實上,我的目標是始終按partition keys刪除整個分區,而不是為每個primary key創建一個tombstones。

如何使用火花連接器做到這一點?

謝謝

是的,如果您為.deleteFromCassandra函數 ( docs ) 指定keyColumns參數,則可以這樣做。 例如,如果您有由兩列part1part2組成的復合分區鍵:

rdd.deleteFromCassandra("keyspace", "table", 
  keyColumns = SomeColumns("part1", "part2"))

此方法僅適用於 RDD,如果您使用 DataFrames,那么您只需要執行df.rdd 此外,在某些版本的連接器中,您可能需要將選擇限制為僅分區列 - 請參閱此答案中的討論。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM