以追加模式写入pyspark中的红移
Posted
技术标签:
【中文标题】以追加模式写入pyspark中的红移【英文标题】:Writing in append mode to redshift in pyspark 【发布时间】:2019-06-10 05:03:27 【问题描述】:我正在尝试使用 pyspark 将数据框附加到红移表中。
我做错了什么?
该表已存在并且已经有一些数据。
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】:您似乎缺少 Avro 包。 Spark 以 Avro 格式将数据帧写入 S3,然后将该数据加载到 Redshift。
【讨论】:
以上是关于以追加模式写入pyspark中的红移的主要内容,如果未能解决你的问题,请参考以下文章
我可以直接查询以镶木地板格式存储在 s3 中的数据的红移表吗