在Pyspark中以附加模式写入Redshift

3
我正在尝试使用pyspark将一个数据框附加到redshift表中。
我做错了什么?
该表已存在并且已经有一些数据。
myDf.write \
.format("com.databricks.spark.redshift") \
.option("url", JDBC_REDSHIFT) \
.option('forward_spark_s3_credentials', "true") \
.option("dbtable", MY_TABLE) \
.option("tempdir","s3n://MyDir") \
.save(mode='append')

我遇到了这个错误 -
MyDir") .save(mode='append')
  File "/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/readwriter.py", line 701, in save
  File "/usr/lib/spark/python/lib/py4j-0.10.6-src.zip/py4j/java_gateway.py", line 1160, in __call__
  File "/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/utils.py", line 69, in deco
pyspark.sql.utils.AnalysisException: 'Failed to find data source: com.databricks.spark.avro. Please find an Avro package at http://spark.apache.org/third-party-projects.html;'
1个回答

0

看起来您缺少Avro包。Spark将数据框以Avro格式写入S3,然后将该数据加载到Redshift中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接