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

Dataproc模板JDBC转BigQuery时dataproc_templates_distribution.egg上传失败

问题:Dataproc模板JDBC转BigQuery时.egg文件GCS上传失败

使用Dataproc模板的jdbc_to_bigquery.py和bin/start.sh工具从JDBC导入数据到BigQuery,在Ubuntu系统执行指定shell脚本时,出现dataproc_templates_distribution.egg文件上传至GCS失败的错误,具体错误日志如下:

/usr/lib/python3/dist-packages/setuptools/dist.py:508: InformationOnly: Normalizing '0.5.0-beta' to '0.5.0b0'
  self.metadata.version = self._normalize_version(
running bdist_egg
running egg_info
writing google_dataproc_templates.egg-info/PKG-INFO
writing dependency_links to google_dataproc_templates.egg-info/dependency_links.txt
writing requirements to google_dataproc_templates.egg-info/requires.txt
writing top-level names to google_dataproc_templates.egg-info/top_level.txt
reading manifest file 'google_dataproc_templates.egg-info/SOURCES.txt'
writing manifest file 'google_dataproc_templates.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
running install_lib
warning: install_lib: 'build/lib' does not exist -- no Python modules to install

creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying google_dataproc_templates.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying google_dataproc_templates.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying google_dataproc_templates.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying google_dataproc_templates.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying google_dataproc_templates.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/google_dataproc_templates-0.5.0b0-py3.12.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Will rename output .egg file from dist/google_dataproc_templates-0.5.0b0-py3.12.egg to dist/dataproc_templates_distribution.egg
JOB_TYPE is SERVERLESS, so will submit on serverless Spark
Triggering Spark Submit job
gcloud beta dataproc batches submit pyspark <confidential parameters>
ERROR: (gcloud.beta.dataproc.batches.submit.pyspark) Failed to upload files ['./../dist/dataproc_templates_distribution.egg'] to 'gs://dataproc_test_jdbc_bq/dependencies': [./../dist/dataproc_templates_distribution.egg] not found or not accessible

已知条件

  • dist/dataproc_templates_distribution.egg已在本地生成
  • GCS存储桶中已创建dependencies文件夹,包含repo中的dataproc-templates/python/main.py
  • 使用gsutil可正常上传该.egg文件至GCS

解决方案

  • 修正脚本路径引用
    错误提示中的路径./../dist/dataproc_templates_distribution.egg说明脚本执行时的工作目录与预期不符。打开bin/start.sh,将引用.egg文件的相对路径替换为绝对路径(例如/home/your-user/dataproc-templates/dist/dataproc_templates_distribution.egg),避免工作目录变化导致路径失效。
  • 手动上传后跳过自动构建步骤
    先用gsutil cp dist/dataproc_templates_distribution.egg gs://dataproc_test_jdbc_bq/dependencies/手动上传文件,然后修改start.sh,在gcloud beta dataproc batches submit pyspark命令中直接使用GCS上的文件路径gs://dataproc_test_jdbc_bq/dependencies/dataproc_templates_distribution.egg,并注释掉脚本中自动构建和上传.egg的相关代码。
  • 固定脚本工作目录
    在start.sh开头添加cd "$(dirname "$0")/..",确保脚本执行时工作目录切换到Dataproc模板仓库的根目录,这样相对路径就能正确指向生成的.egg文件。
  • 检查文件权限
    执行ls -l dist/dataproc_templates_distribution.egg确认文件读权限,若当前用户无读权限,执行chmod +r dist/dataproc_templates_distribution.egg添加权限。

内容的提问来源于stack exchange,提问作者Pachu Martinez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 15:27:36