我正在尝试通过Pycharm访问在S3桶中可用的parquet文件,使用Pyspark。我在Pycharm中配置了AWS工具包,并且在我的~/.aws/credentials中添加了访问密钥和安全密钥,但是我看到凭据没有被访问。这会引发错误“无法从链中的任何提供程序加载AWS凭据”。
import os
import pyspark
from pyspark.sql import SparkSession
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages com.amazonaws:aws-java-sdk-pom:1.10.34,org.apache.hadoop:hadoop-aws:2.7.3 pyspark-shell'
spark = SparkSession.builder\
.appName('Pyspark').getOrCreate()
my_df = spark.read.\
parquet("s3a://<parquet_file_location>") --Using s3 gives me no file system error
my_df.printSchema()
是否有其他方法在本地试用Pyspark并访问AWS资源。
此外,我应该能够在拼花路径中使用s3,但这似乎会引发文件系统未找到的错误。是否需要添加任何依赖项或jar文件才能在本地运行
发布于 2020-09-09 10:47:36
如果您在AWS_ env中设置了秘密,它们将被捕获,然后与作业一起传播。否则,您可以使用适当的spark.hadoop.fs.s3a.access.key和spark.hadoop.fs.s3a.secret.key将它们设置为spark-defaults.conf。
https://stackoverflow.com/questions/63742860
复制相似问题