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

如何在Cloudera ML平台上获取作业中使用的脚本名称

如何在Cloudera ML平台上获取作业中使用的脚本名称

我来分享几个实用的方向,帮你解决这个问题:

1. 排查Cloudera ML专属环境变量

Cloudera ML通常会设置平台特有的环境变量,除了作业ID相关的,你可以先打印所有环境变量找找线索:

import os
for key, value in os.environ.items():
    print(f"{key}: {value}")

重点留意带SCRIPT、JOB、NOTEBOOK这类关键词的变量,比如有些场景下会有CDSW_JOB_SCRIPT_NAME这类变量直接存储脚本名称。

2. 从IPython运行上下文提取信息

既然后台用IPython执行脚本,那可以试试从IPython内部对象里挖信息:

from IPython import get_ipython

ip = get_ipython()
if ip is not None:
    # 查看IPython启动参数
    print(ip.args)
    # 或者检查历史执行记录
    print(ip.history_manager.input_hist_parsed)

很多时候IPython会把原始脚本路径保留在启动参数里,从ip.args里就能筛选出脚本文件名。

3. 用Cloudera ML Python SDK直接获取元数据

如果API调用需要作业ID,其实不用手动找——Cloudera的cdsw SDK能直接获取当前运行会话的元数据:

import cdsw

current_session = cdsw.current_session()
# 从会话信息里提取脚本名称
print(current_session.get("script", "Unknown"))

这个方法会直接返回当前作业的关联信息,里面大概率包含你要的脚本名称。

4. 解析进程命令行参数

还可以直接读取当前Python进程的命令行参数:

import sys

# 打印所有命令行参数
print(sys.argv)

如果Cloudera ML是通过ipython your_script.py这类方式启动的,sys.argv里肯定会包含你的脚本文件名,直接提取就行。


备注:内容来源于stack exchange,提问作者Mischa Lisovyi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 15:54:33