【发布时间】:2018-06-18 04:17:43
【问题描述】:
我有一张红移表格
id, name, address
1, 'aaa', 'xxx'
2, 'bbb', 'yyy'
我在 pyspark 中有一个数据框
id, name, address
1, 'ccc', 'zzz'
5, 'ddd', 'xyx'
现在我需要使用 upsert 模式将 pyspark 中的数据帧上传到 redshift 表。
任何人都可以帮助我如何做到这一点
【问题讨论】:
我有一张红移表格
id, name, address
1, 'aaa', 'xxx'
2, 'bbb', 'yyy'
我在 pyspark 中有一个数据框
id, name, address
1, 'ccc', 'zzz'
5, 'ddd', 'xyx'
现在我需要使用 upsert 模式将 pyspark 中的数据帧上传到 redshift 表。
任何人都可以帮助我如何做到这一点
【问题讨论】:
为此使用Redshift Data Source for Apache Spark。请记住,在加载此数据之前,这些表应该已经存在于 Redshift 中。
【讨论】:
首先,您需要在 redshift 中检查您的预期表是否存在。然后你可以从下面的代码中获得帮助。
# 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()
【讨论】: