主题
Python 作业
场景 有一段用 Python 写的逻辑(数据清洗、统计计算、调第三方 API、生成报表),比起用 SQL 表达更顺手,想让它按计划跑起来。
能干什么
| 你想做的事 | 配置成 Python 长这样(示意) |
|---|---|
| 直接写一段内联脚本 | 脚本来源选「内联编辑」,文本框里写 Python |
| 复用已有的脚本文件 | 脚本来源选「资源中心脚本」,运行时自动下载执行 |
亮点
- 跟 Shell 作业是同一个执行器父类——只是解释器换成
python3,机制完全一致:脚本经 ConfigMap 挂载进一次性 k8s Job pod 执行,不在平台 JVM 进程内跑。 - 同样的隔离与生命周期——每空间独立 namespace + ResourceQuota,
restartPolicy=Never、backoffLimit=0,跑完ttlSecondsAfterFinished=600自动回收 pod。 - 标准库开箱即用——镜像自带 Python 3.8,
statistics、json、datetime等标准库不用额外装;需要三方库(如pandas)则要在镜像里预置,当前默认镜像是复用 Spark 镜像的瘦身版,不含额外三方包。 - 脚本体积上限、来源二选一——跟 Shell 作业一样受 ConfigMap/etcd ~1MB 限制(实际 512KB 上限),脚本来源可以是内联文本或资源中心已上传的文件。
完整操作示例:一次真实运行
新建「Python」作业 python_stats_demo,脚本来源用「内联编辑」,跑一段基础统计计算(不依赖任何三方库):
python
import statistics
import platform
print("=== Python 作业演示 ===")
print("Python 版本:", platform.python_version())
data = [12, 7, 19, 4, 25, 13, 8, 30, 5, 21]
print("样本数据:", data)
print("均值 mean =", statistics.mean(data))
print("中位数 median =", statistics.median(data))
print("标准差 stdev =", round(statistics.stdev(data), 4))保存后点「运行一次」,exit=0,日志里能看到 Python 版本和计算结果:

想跑纯 bash 脚本,看Shell 作业;想跑复杂的 Spark 程序,看Spark Jar 作业。
看全部作业类型 →