文档中心>数据湖计算 DLC>开发指南>dlcutils 工具库及魔法指令使用指南

dlcutils 工具库及魔法指令使用指南

最近更新时间:2026-04-14 11:17:52

我的收藏

功能概述

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 代码
所有机器学习资源组类型