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

Dataproc PySpark任务因BigQuery连接器报错:java.util.ServiceConfigurationError

问题分析

报错This connector was made for Scala null, it was not meant to run on Scala 2.12的核心原因是BigQuery Connector版本与Spark 3.5.1不兼容——你使用的0.41.1版本连接器并未适配Spark 3.5.x系列,即使文件名标注了Scala 2.12,内部兼容性校验逻辑仍会触发错误。

可行解决方案

1. 使用适配Spark 3.5.x的Connector版本

Spark 3.5.x需要搭配0.42.0及以上版本的BigQuery Connector,替换任务提交命令为:

gcloud dataproc jobs submit pyspark gs://my-bucket/dataproc_bigquery.py \
    --cluster=cluster-be90 \
    --region=us-central1 \
    --jars=gs://spark-lib/bigquery/spark-bigquery-with-dependencies_2.12-0.42.0.jar

该Jar包已在官方GCS存储库中存在,无需手动上传。

2. 用Maven坐标自动拉取依赖(推荐)

避免手动管理Jar包版本,直接通过--packages参数让Spark自动下载适配的依赖:

gcloud dataproc jobs submit pyspark gs://my-bucket/dataproc_bigquery.py \
    --cluster=cluster-be90 \
    --region=us-central1 \
    --packages com.google.cloud.spark:spark-bigquery-with-dependencies_2.12:0.43.0

此方式会自动处理所有依赖兼容性问题,确保Connector与Spark/Scala版本完全匹配。

3. 使用Dataproc初始化动作部署连接器

如果需要长期使用BigQuery集成,建议在创建集群时通过官方初始化动作安装适配的连接器,避免后续版本冲突:

gcloud dataproc clusters create cluster-be90 \
    --region us-central1 \
    --image-version 2.2.43-debian12 \
    --initialization-actions gs://dataproc-initialization-actions/bigquery/bigquery.sh

初始化动作会自动安装与当前Dataproc镜像匹配的最佳Connector版本。

4. 清理集群内的冲突Jar包

如果集群中存在旧版本的BigQuery Connector Jar,可能导致依赖冲突:

  1. 登录集群主节点:gcloud compute ssh cluster-be90-m --region us-central1
  2. 检查Spark jars目录:ls /usr/lib/spark/jars | grep bigquery
  3. 删除所有非当前使用的BigQuery Connector Jar:sudo rm /usr/lib/spark/jars/spark-bigquery-*.jar
  4. 重启集群服务:sudo systemctl restart spark-history-server

额外验证点

确认你的PySpark代码中使用的数据源格式正确,例如:

df = spark.read.format("bigquery") \
    .option("table", "project.dataset.table") \
    .load()

避免使用过时的com.google.cloud.spark.bigquery格式标识(新版本已简化为bigquery)。

内容的提问来源于stack exchange,提问作者Shima K

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 16:27:02