功能概述
dlcutils 是数据湖计算 DLC 提供的内置工具库,帮助用户在 Notebook 和作业中完成文件操作、参数管理、Notebook 调用、密钥获取等常见任务。
使用前提
已开通数据湖计算 DLC 服务,详情请参见 快速入门。
已创建并启动机器学习资源组。
引擎镜像版本要求:需升级至2026年3月12日后发布的镜像版本,dlcutils 工具库才可用。
文件系统(dlcutils.fs)
功能说明
dlcutils.fs 模块提供了对文件系统的操作能力,支持文件的列举、复制、移动、删除等常见操作。
API 列表
方法 | 参数 | 功能说明 |
dlcutils.fs.ls(path, recurse) | path: str - 目录路径 | 列出指定目录下的文件与子目录 |
dlcutils.fs.cp(src, dest) | src: str - 源路径 dest: str - 目标路径 recurse: bool - 是否递归复制,默认 False | 复制文件或整个目录 |
dlcutils.fs.head(path, maxBytes) | path: str - 文件路径 maxBytes: int - 最大读取字节数,默认 1024 | 查看文件开头内容 |
dlcutils.fs.mkdir(path) | path: str - 目录路径 | 创建目录,若已存在则忽略 |
dlcutils.fs.mv(src, dest) | src: str - 源路径 dest: str - 目标路径 | 移动或重命名文件/目录 |
dlcutils.fs.rm(path) | path: str - 文件或目录路径 | 删除文件或目录 |
dlcutils.fs.rsync(src, dest) | src: str - 源目录 dest: str - 目标目录 | 从源目录同步文件到目标目录 |
交互控件(dlcutils.widgets)
功能说明
dlcutils.widgets 模块提供了在 Notebook 中创建交互式控件的能力,支持文本输入、下拉选择等交互形式,方便用户动态传递参数。
API 列表
方法 | 参数 | 功能说明 |
dlcutils.widgets.text(name, default, label) | name: str - 控件名称 default: str - 默认值 label: str - 显示标签,可选 | 创建文本输入控件 |
dlcutils.widgets.get(name) | name: str - 控件名称 | 获取控件的当前值 |
dlcutils.widgets.getAll() | - | 获取所有控件的键值对列表 |
dlcutils.widgets.remove(name) | name: str - 控件名称 | 删除指定控件 |
dlcutils.widgets.removeAll() | - | 删除所有控件 |
dlcutils.widgets.dropdown(name, choices, default) | name: str - 控件名称 choices: List[str] - 选项列表 default: str - 默认值 | 创建下拉选择框 |
dlcutils.widgets.combobox(name, choices, default) | name: str - 控件名称 choices: List[str] - 选项列表 default: str - 默认值 | 创建可输入或选择的下拉框 |
注意:
dropdown 和 combobox 控件目前仅在 WeData 交互式 Notebook 和社区版 Notebook 中可用,WeData 调度场景暂不支持。
Notebook 控制(dlcutils.notebook)
功能说明
dlcutils.notebook 模块支持在当前 Notebook 中调用执行其他 Notebook,并可传递参数和获取返回值,适用于构建模块化的数据处理流程。
API 列表
方法 | 参数 | 功能说明 |
dlcutils.notebook.run(path, timeout, arguments) | path: str - Notebook 文件路径 timeout: int - 超时时间(秒) arguments: str - 传递的参数 | 调用其他 Notebook 并传参执行 |
dlcutils.notebook.exit(value) | value: Any - 返回值 | 停止 Notebook 执行并返回结果值 |
机密管理(dlcutils.secrets)
功能说明
dlcutils.secrets 模块提供了从腾讯云密钥管理系统(SSM)获取密钥的能力,帮助用户安全地管理数据库密码、API Key 等敏感信息,避免在代码中硬编码。
API 列表
方法 | 参数 | 功能说明 |
dlcutils.secrets.get(secretName, secretVersion, region) | secretName: str - 密钥名称(必填) secretVersion: str - 密钥版本(必填) region: str - 地域,默认为引擎所在地域 | 从 Secret Scope 获取密钥值 |
作业参数传递(dlcutils.jobs)
功能说明
dlcutils.jobs 模块提供了在 Spark 作业的不同任务之间传递数据的能力,适用于需要跨任务共享中间结果的复杂工作流场景。
API 列表
方法 | 参数 | 功能说明 |
dlcutils.jobs.taskValues.set(key, value) | key: str - 键名 value: Any - 值 | 设置当前任务的输出值 |
dlcutils.jobs.taskValues.get(taskKey, key, default, debugValue) | taskKey: str - 任务键 key: str - 键名 default: Any - 默认值,可选 debugValue: Any - 调试值,可选 | 获取指定任务的输出值 |
多语言魔法命令
功能说明
DLC Notebook 支持在单元格中使用魔法命令切换执行语言,方便用户在同一个 Notebook 中混合使用 Python、SQL、Scala 等语言。
支持的魔法命令
命令 | 功能说明 | 支持的资源类型 |
%sql / %%sql | 在单元格中执行 SQL 查询 | 机器学习资源组(Spark MLlib 类型) |
%scala / %%scala | 在单元格中执行 Scala 代码 | 机器学习资源组(Spark MLlib 类型) |
%python / %%python | 在单元格中执行 Python 代码 | 所有机器学习资源组类型 |