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

如何在Kubeflow Spark Operator中使用Python依赖(.wheel/.egg/.py)

Kubeflow Spark Operator中Python依赖的使用方法

可以在Kubeflow Spark Operator中使用.wheel、.egg和.py格式的Python依赖,但不同类型的依赖配置方式有区别,别乱放到jars字段里(jars是给Java/Scala依赖用的),具体配置如下:

1. .py文件依赖

.py文件直接放到deps.files字段下即可,支持本地路径(local://)或者云存储路径(如gs://、s3://)。Spark会自动把这些文件分发到所有driver和executor节点的工作目录,你可以在主脚本里直接import(如果是单独的.py文件,注意要把工作目录加到Python的sys.path里,或者保证文件路径能被找到)。

2. .wheel/.egg包依赖

这两种Python打包格式需要放到deps.pyFiles字段下,这个字段是Spark专门为Python依赖包设计的,同样支持各种存储路径。Spark会自动在driver和executor节点上安装这些包到Python环境中。

修正后的配置示例

apiVersion: sparkoperator.k8s.io/v1beta2
kind: SparkApplication
metadata:
  name: spark-pi-python
  namespace: default
spec:
  type: Python
  pythonVersion: "3"
  mode: cluster
  image: spark:3.5.3
  imagePullPolicy: IfNotPresent
  mainApplicationFile: local:///path/to/my/python/script.py
  deps:
    # 存放.py文件依赖
    files:
      - gs://path/to/python/functions.py
    # 存放wheel/egg包依赖
    pyFiles:
      - local:///path/to/my/dep-package.whl
      - gs://path/to/another-dep.egg
  sparkVersion: 3.5.3
  driver:
    cores: 1
    memory: 512m
    serviceAccount: spark-operator-spark
  executor:
    instances: 1
    cores: 1
    memory: 512m

注意事项

  • 如果你用的是官方Spark镜像,要确保镜像里预装了pip(部分版本可能需要自行安装),否则无法安装wheel包。
  • 若依赖存储在私有云存储(如私有GCS桶),要保证配置的serviceAccount拥有对应存储的访问权限。
  • 对于复杂的Python模块(带目录结构的),建议打包成wheel再通过pyFiles配置,比单独放多个.py文件更可靠。

内容的提问来源于stack exchange,提问作者Jakub Vlček

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 04:07:13