2017-01-04 4 views
0

ich Apache 2.0, Apache Cassandra 3.7 und Apache Funken Java Connector für Cassandra 2,11 (2.0.0-M3)Löschen von Zeilen von Cassandra DB Schlüsselspalten mit Apache Spark-Java-Connector für Cassandra mit

ich Funken bin mit will um einige Zeilen aus der Tabelle in Cassandra basierend auf Schlüsselspaltenwerten zu löschen. Wie verwende ich Dataset und verwende den Apache Spark Java Connector für Cassandra? Ich verwende SparkSession in meinem Code. Bitte vorschlagen. Wenn es einen anderen Weg gibt, lass es mich wissen. Ich möchte es mit Java machen.

Vielen Dank.

Antwort

2

Die Funktionalität deleteFromCassandra() zum Löschen von Cassandra-Datensätzen ist in der neuen Cassandra Connector-Version enthalten. bitte überprüfen Sie SPARKC-349 und SPARKC-392 für weitere Details.

Zum Löschen von Zeilen aus Cassandra mit Cassandra Connector können Sie Folgendes tun: Sagen Sie zum Beispiel, ich habe Spalten wie id UUID PRIMARY KEY, username TEXT in meiner Tabelle. Jetzt möchte ich alle Zeilen löschen, in denen der Benutzername "Mat" entspricht. Dazu rufen Sie die Sitzung von Cassandra Connector ab und führen die Löschabfrage aus.

dataset.where(dataset.col("username").equalTo("Mat")).foreachPartition(partition -> { 
Session session = connector.openSession(); 
     while (partition.hasNext()) { 
      Row row = partition.next(); 
      String id = (String) row.get(0);//UUID is at index 0 
      String delete = "DELETE FROM mykeyspace.mytable where id=" + id + ";"; 
      session.execute(delete); 
     } 
     session.close(); 
    }); 
Verwandte Themen