尝试使用路径协议从s3读取avro文件时://bucket/prefix/filename.avro

使用协议s3,s3a或s3n时出现这种错误:

得到错误:在get_return_value py4j中输入文件“/usr/local/spark-2.2.1-bin-hadoop2.7/python/lib/py4j-0.10.4-src.zip/py4j/protocol.py”,第319行 . protocol.Py4JJavaError:调用o103.load时发生错误 . :java.io.IOException:没有用于scheme的文件系统:s3

环境:

pyspark
/usr/local/spark-2.2.1-bin-hadoop2.7/bin/pyspark

export S3_AVRO_PACKAGES=\
com.databricks:spark-avro_2.11:4.0.0,\
com.amazonaws:aws-java-sdk-pom:1.11.306,\
org.apache.hadoop:hadoop-aws:3.0.1

pyspark --packages ${S3_AVRO_PACKAGES} <python-spark-file>.py

Python 3.6.4 (default, Jan  6 2018, 11:51:59) 

Spark version 2.2.1