Я читаю данные из S3 с использованием Spark Streaming и хочу обновить потоковые данные в Amazon Redshift.Существуют данные с одним и тем же первичным ключом, после чего необходимо обновить эту строку и вставить новые строки.Может кто-нибудь предложить, пожалуйста, правильный подход к этому с учетом производительности?
val ssc = new StreamingContext(sc, Duration(30000))
val lines = ssc.textFileStream("s3://<path-to-data>/YYYY/MM/DD/HH")
lines.foreachRDD(
x => {
val normalizedRDD = processRDD(x)
val df = spark.createDataset(normalizedRDD)
//TODO: How to Update/Upsert data in Redshift?
}
)