如何使用PySpark读取GCS存储桶中的Parquet文件
读取GCS上的Parquet文件(PySpark最简实现)
直接修改现有代码即可完成适配,核心是替换文件路径并给Spark添加GCS访问支持,具体步骤如下:
1. 替换为GCS标准路径
把本地路径改成GCS专属格式:gs://<你的存储桶名称>/<目标文件夹路径>,比如你的文件存在my-gcs-bucket下的parquet-data文件夹里,路径就是gs://my-gcs-bucket/parquet-data/
2. 给Spark添加GCS连接器依赖
本地Spark默认没有集成GCS访问组件,创建SparkSession时需要指定依赖包(注意匹配你的Spark对应Scala版本,比如Spark 3.x通常对应Scala 2.12)
3. 本地认证配置
本地运行时需要通过GCP服务账号密钥完成身份验证:
- 从GCP控制台下载服务账号的JSON密钥文件
- 设置环境变量:
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your-service-account-key.json"(Windows系统用set命令替代export)
完整修改后的代码示例
# 替换成你的GCS实际路径 source_path = 'gs://my-gcs-bucket/parquet-data/' appName = "PySpark Parquet GCS Example" master = "local" # 创建SparkSession并添加GCS连接器依赖 spark = SparkSession.builder \ .appName(appName) \ .master(master) \ # 适配Spark 3.x的GCS连接器包,版本可根据实际情况调整 .config("spark.jars.packages", "com.google.cloud.spark:spark-gcs-connector_2.12:2.2.0") \ .getOrCreate() # 读取GCS上的Parquet文件 df = spark.read.parquet(source_path) # 可选:验证读取结果 df.show()
额外说明
如果你的Spark运行在GCP的Dataproc集群上,不需要手动添加依赖和配置认证——Dataproc默认集成了GCS支持,直接使用gs://格式路径即可。
内容的提问来源于stack exchange,提问作者Carlos Reyes
相关产品推荐
相关产品推荐

