如何解决使用pyspark从s3读取/加载avro文件
使用AWS胶水开发人员终端节点Spark Version - 2.4
Python Version- 3
代码:
df=spark.read.format("avro").load("s3://dataexport/users/prod-users.avro")
在尝试读取Avro文件时获取以下错误消息:
Failed to find data source: avro. Avro is built-in but external data source module since Spark 2.4. Please deploy the application as per the deployment section of "Apache Avro Data Source Guide".;
找到了以下链接,但对解决我的问题没有帮助
https://spark.apache.org/docs/latest/sql-data-sources-avro.html[Apache Avro数据源指南] [1]
Apache Avro as a Built-in Data Source in Apache Spark 2.4
解决方法
您只需要导入该程序包
org.apache.spark:spark-avro_2.11:4.0.0
检查所需的版本here
,启动外壳程序时是否导入了软件包?如果不是,则需要如下所示启动外壳。以下软件包适用于spark 2.4+版本。
pyspark --packages com.databricks:spark-avro_2.11:4.0.0
也可以在read.format内编写如下内容:
df=spark.read.format("com.databricks.spark.avro").load("s3://dataexport/users/prod-users.avro")
注意:对于pyspark,您需要编写“ com.databricks.spark.avro ”而不是“ avro”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。