pyspark - 以追加模式写入pyspark中的红移
问题描述
我正在尝试使用 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;'
解决方案
看起来您缺少 Avro 包。Spark 以 Avro 格式将数据帧写入 S3,然后将该数据加载到 Redshift。
推荐阅读
- javascript - FullCalendar 不显示通过带有动态“extraParams”参数的 JSON 获取的事件
- angularjs - 如何将指令内部定义的函数传递给另一个指令?
- python - Python - 将数字列表中的项目格式化为带有货币符号的字符串
- julia - 朱莉娅主对角线下的总和
- maven - 是否可以看到实际执行的 pom.xml,包括父依赖项/插件?
- node.js - 目的:想要验证用户输入模式并检查节点中的实时数据
- python - 在 Pandas 中 read_excel 时修剪工作表名称
- vue.js - 如何在 vuetify 组件上使用 router-link “to” 道具?
- jenkins-pipeline - 如何在 Jenkins 声明式管道代码中使用验证字符串参数插件?
- javascript - Node.js 无法在另一个文件夹中找到文件