要从 PySpark 中的 S3 读取文件,您需要使用 org.apache.hadoop
库
pip install pyspark
hadoop-aws
和 aws-java-sdk-bundle
JAR 文件。这些 JAR 文件包含了与 AWS S3 交互所需的类。将下载的 JAR 文件放在 PySpark 的 jars
目录中。
--jars
参数指定 JAR 文件的路径。例如:pyspark --jars /path/to/hadoop-aws.jar,/path/to/aws-java-sdk-babel.jar
export AWS_ACCESS_KEY_ID=your_aws_access_key_id
export AWS_SECRET_ACCESS_KEY=your_aws_secret_access_key
或者,您可以在 PySpark 配置中设置这些属性:
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.appName("S3 Read Example") \
.config("spark.hadoop.fs.s3a.access.key", "your_aws_access_key_id") \
.config("spark.hadoop.fs.s3a.secret.key", "your_\
aws_secret_access_key") \
.getOrCreate()
df = spark.read.csv("s3a://your-bucket-name/path/to/your/file.csv", header=True, inferSchema=True)
df.show()
将 your-bucket-name
和 path/to/your/file.csv
替换为您的实际 S3 存储桶名称和文件路径。
领取专属 10元无门槛券
手把手带您无忧上云