Apache spark 使用pyspark从s3读取/加载avro文件

Apache spark 使用pyspark从s3读取/加载avro文件,apache-spark,pyspark,aws-glue,apache-zeppelin,Apache Spark,Pyspark,Aws Glue,Apache Zeppelin,使用AWS glue developer endpointSpark版本-2.4Python版本-3 代码: df=spark.read.format(“avro”).load(“s3://dataexport/users/prod-users.avro”) 尝试读取avro文件时收到以下错误消息: 找不到数据源:avro。Avro是自Spark 2.4以来的内置但外部数据源模块。请按照“ApacheAvro数据源指南”的部署部分部署应用程序 找到以下链接,但对解决我的问题没有帮助 Avro数据

使用AWS glue developer endpoint
Spark版本-2.4
Python版本-3

代码:
df=spark.read.format(“avro”).load(“s3://dataexport/users/prod-users.avro”)

尝试读取avro文件时收到以下错误消息:
找不到数据源:avro。Avro是自Spark 2.4以来的内置但外部数据源模块。请按照“ApacheAvro数据源指南”的部署部分部署应用程序

找到以下链接,但对解决我的问题没有帮助

Avro数据源指南][1]


您只需导入该软件包即可

 org.apache.spark:spark-avro_2.11:4.0.0

检查您需要的版本

启动shell时是否导入了包?如果没有,您需要按如下方式启动一个shell。以下软件包适用于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”。

我们通过以下命令访问AWS开发者实例
ssh-i glue@
,并且不显式启动shell