У меня есть таблица Cassandra из нескольких столбцов, и я хочу обновить один из них (а также что для нескольких столбцов?) Из Spark 2.4.0.Но если я не предоставлю все столбцы, то записи не будут обновляться.
Схема Кассандры:
rowkey,message,number,timestamp,name
1,hello,12345,12233454,ABC
Точка Spark DataFrame
состоит из rowkey
с обновленной отметкой времени, которая должна быть обновлена в таблице Кассандры.
Я пытался выбрать столбцы сразу после параметров, но, похоже, такого метода нет.
finalDF.select("rowkey","current_ts")
.withColumnRenamed("current_ts","timestamp")
.write
.format("org.apache.spark.sql.cassandra")
.options(Map("table" -> "table_data", "keyspace" -> "ks_data"))
.mode("overwrite")
.option("confirm.truncate","true")
.save()
Скажем,
finalDF=
rowkey,current_ts
1,12233999
, тогда таблица Кассандры должна удерживатьсязначение как После обновления
rowkey,message,number,timestamp,name
1,hello,12345,12233999,ABC
Я использую Dataframe API.Таким образом, подход RDD не может быть использован.Как я могу это сделать?Cassandra версия 3.11.3, разъем Datastax 2.4.0-2.11