You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Dataproc现有集群添加bigquery-connector解决Spark读BigQuery报错

你遇到的报错是Spark运行时未加载BigQuery连接器依赖导致的,根据你使用Dataproc的不同场景,解决方案如下:

场景1:使用spark-submit提交独立脚本

直接在提交命令中加入--packages参数自动拉取连接器依赖,示例命令:

spark-submit --packages com.google.cloud.spark:spark-bigquery-with-dependencies_2.12:0.30.0 你的脚本路径.py

注意:包名后缀的_2.12对应Scala 2.12版本,适配Spark 3.2及以上版本,你可以根据你集群的Spark版本调整对应连接器版本号即可。

场景2:在Dataproc自带的Jupyter/Zeppelin交互式环境运行

在代码最开始初始化SparkSession时,指定连接器依赖配置即可,示例代码:

from pyspark.sql import SparkSession

# 初始化SparkSession时加载BigQuery连接器
spark = SparkSession.builder \
    .appName("BigQueryMLTask") \
    .config("spark.jars.packages", "com.google.cloud.spark:spark-bigquery-with-dependencies_2.12:0.30.0") \
    .getOrCreate()

# 后续即可正常执行读取BigQuery的代码
df = spark.read.format('bigquery').load('bigquery-public-data.samples.shakespeare')
场景3:集群所有任务默认支持BigQuery读取

你可以在创建Dataproc集群时直接预装连接器,后续所有提交到该集群的任务都不需要再单独配置依赖,创建集群的gcloud命令示例:

gcloud dataproc clusters create 你的集群名称 \
    --region=对应区域 \
    --metadata spark-bigquery-enabled=true \
    --metadata spark-bigquery-connector-version=0.30.0

额外提示:需要确保Dataproc集群的服务账号拥有对应BigQuery数据集的读取权限,否则依赖配置完成后仍会出现权限类报错。


内容的提问来源于stack exchange,提问作者Kerem Tatlıcı

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:45:02