Коннектор Spark-Cassandra: как изменить поведение записи коллекций - PullRequest
0 голосов
/ 26 сентября 2019

В Java у меня есть набор данных Spark (Spark Structured Streaming) со столбцом типа java.util.ArrayList<Short>, и я хочу записать набор данных в таблицу Cassandra, которая имеет соответствующий list<smallint>.

КаждыйКогда я пишу строку в Кассандре, она обновляет существующую строку, и я хочу настроить поведение записи list, чтобы контролировать, будет ли

  • записанный список перезаписывать существующий список или
  • содержимое письменного списка будет добавлено к содержимому списка, уже сохраненного в Cassandra

Я нашел в spark-cassandra-connector исходный код класса CollectionBehavior, который расширяется на CollectionAppend и CollectionOverwrite.Мне кажется, что это именно то, что я искал, но я не нашел способа использовать его при записи в Кассандру.

Набор данных записывается в Кассандру с использованием:

dataset.write()
    .format("org.apache.spark.sql.cassandra")
    .option("table", table)
    .option("keyspace", keyspace)
    .mode(SaveMode.Append)
    .save();

Возможно ли этоизменить это поведение?

...