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

busg9geu  于 2021-05-27  发布在  Spark
关注(0)|答案(2)|浏览(633)

使用aws glue developer端点
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]
apacheavro作为apachespark2.4中的内置数据源

sdnqo3pr

sdnqo3pr1#

你只需要导入那个包

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

检查您需要的版本

6rqinv9w

6rqinv9w2#

启动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”。

相关问题