Обновление / добавление данных в таблицу Redshift с использованием Spark (или Spark Streaming) - PullRequest
0 голосов
/ 12 февраля 2019

Я читаю данные из 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?
    }

)
...