我有一张redshift表格
id, name, address
1, 'aaa', 'xxx'
2, 'bbb', 'yyy'
我在pyspark中有一个数据框
id, name, address
1, 'ccc', 'zzz'
5, 'ddd', 'xyx'
现在我需要使用upsert模式将pyspark中的数据帧上传到redshift表。
任何人都可以帮我解决这个问题吗
答案 0 :(得分:0)
使用Redshift Data Source for Apache Spark进行此操作。请记住,在加载此数据之前,表应该已存在于Redshift中。
答案 1 :(得分:0)
首先,您需要检查您的目标表在红移中的存在。然后,您可以从以下代码中获取帮助。
# Write back to a table
df.write \
.format("com.databricks.spark.redshift") \
.option("url", "jdbc:redshift://redshifthost:5439/database?user=username&password=pass") \
.option("dbtable", "my_table_copy") \
.option("tempdir", "s3n://path/for/temp/data") \
.mode("error") \
.save()