我正在尝试使用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;'
答案 0 :(得分:0)
好像您缺少Avro软件包。 Spark将数据帧以Avro格式写入S3,然后将该数据加载到Redshift中。