我想使用 spark-redshift-connector (scala) 定期更新 Redshift。 每次更新都以删除操作开始。 (我正在对 Redshift 执行更新插入)
有没有办法可以用库来执行它? 可以通过交易吗?
任何建议将不胜感激。
谢谢, 埃兰。
最佳答案
请引用下面的例子:
val min_date=mydf.select(min("actual_ship_date")).rdd.map(line=>line(0)).take(1)
val max_date=mydf.select(max("actual_ship_date")).rdd.map(line=>line(0)).take(1)
val query="delete from semi_sdt.kgd_tsb_shippment where
actual_ship_date>='"+min_date(0).toString+"' and
actual_ship_date<='"+max_date(0).toString+"'"
//Write data to RedShift
mydf.coalesce(1).write.
format("com.databricks.spark.redshift").
option("url",redShiftUrl).
option("dbtable","semi_sdt.kgd_tsb_shippment").
option("tempdir",s3dir).
option("forward_spark_s3_credentials",true).
option("preactions",query).
mode("append").
save()
关于apache-spark - Spark Redshift 连接器 : combine saving to redshift with a delete query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38422523/