tencent cloud

数据湖计算

产品动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
退费说明
欠费说明
调整配置费用说明
快速入门
新用户开通全流程
DLC 数据导入指引
一分钟入门 DLC 数据分析
一分钟入门 DLC 权限管理
一分钟入门分区表
开启数据优化
跨源分析 EMR Hive 数据
标准引擎配置指引
配置数据访问策略
操作指南
控制台操作介绍
开发指南
运行环境
SparkJar 作业开发指南
PySpark 作业开发指南
查询性能优化指南
UDF 函数开发指南
系统约束
客户端访问
JDBC 访问
TDLC 命令行工具访问
第三方软件联动
Python 访问
实践教程
通过 Power BI 访问 DLC 数据操作指南
建表实践
使用 Apache Airflow 调度 DLC 引擎提交任务
StarRocks 直接查询 DLC 内部存储
Spark 计算成本优化实践
DATA + AI
使用 DLC 分析 CLS 日志
使用角色 SSO 访问 DLC
资源级鉴权指南
在 DLC 中实现 TCHouse-D 读写操作
DLC 原生表
SQL 语法
SuperSQL 语法
标准 Spark 语法概览
标准 Presto 语法概览
保留字
API 文档
History
Introduction
API Category
Making API Requests
Data Table APIs
Task APIs
Metadata APIs
Service Configuration APIs
Permission Management APIs
Database APIs
Data Source Connection APIs
Data Optimization APIs
Data Engine APIs
Resource Group for the Standard Engine APIs
Data Types
Error Codes
通用类参考
错误码
配额与限制
第三方软件连接DLC操作指南
常见问题
权限类常见问题
引擎类常见问题
功能类常见问题
Spark 作业类常见问题
DLC 政策
隐私协议
数据处理和安全协议
服务等级协议
联系我们

依赖包管理指南

PDF
聚焦模式
字号
最后更新时间: 2025-12-24 15:57:59
本文档介绍 DLC 中依赖包管理的三层级模型与操作方法,帮助您在标准引擎、资源组/作业、Notebook 场景下高效、可控地配置依赖环境。

核心概念



层级模型

为保证依赖环境的一致性与可控性,在“标准引擎”层级之上,DLC 维护一套由引擎内核与标准镜像预置的受保护依赖集合,称为引擎内核基线依赖(下称“基线依赖”)。该集合是所有依赖解析与合并的起点。不同镜像的基线依赖详情可查看运行环境
引擎内核基线依赖(基线依赖)
描述:随引擎内核版本与标准镜像交付的预置依赖清单。
特性:不可卸载;不可通过 PyPI 直接覆盖。版本调整需在引擎级通过 requirements.txt 实施受控“版本钉死/重写”。
作用:作为全局基线之上限,确保平台运行时的稳定性与一致性。
标准引擎
作用:在“基线依赖”之上进行有限的依赖补充与受控重写,形成租户引擎级的全局依赖基线。
影响范围:所有资源组、作业与 Notebook 默认继承。
资源组
资源组:仅 SQL 分析资源组、机器学习资源组。
作用:团队/业务线的隔离层,承载通用但非全局的依赖配置。
Notebook与作业
作用:个性化与实验性最小增量依赖,贴近开发与调试场景。

继承与定制规则

继承关系:子级默认继承父级依赖配置。
例如:资源组默认继承标准引擎依赖。
定制化添加:任意层级均可新增依赖;新增依赖仅在该层级及其子级生效
例如:在“机器学习资源组”新增的 Python 包,仅对该资源组内的作业/Notebook 生效。
任务实例最终依赖环境 = 基线依赖 + 引擎依赖 + 资源组/作业依赖 + Notebook依赖

安装顺序

安装顺序:引擎/资源组/作业层的新增依赖按“添加时间”正序安装。

冲突规则

冲突语义对齐原生生态
Maven(Jar):遵循 Maven 解析与冲突处理语义。
PyPI(Python):遵循 pip/PEP 规范 。

覆盖与改写

不可直接改写:引擎内置依赖不可通过 PyPI 方式改写。
可控改写:引擎级支持通过 requirements.txt 对内置依赖进行版本重写。

生效时机与安装状态

生效动作:安装、卸载、克隆在计算实例启动时生效。
触发场景
作业启动
SQL 资源组重启
机器学习资源组:
ML 开源框架与 Python 依赖:在 Wedata Notebook 探索页面点击 Restart
Spark MLlib 依赖:在 Wedata Notebook 探索页面重新创建 Spark 会话。
安装状态查看
引擎级:显示最近一次任一计算实例安装后的状态(如仅 SQL 资源组与作业A先后运行,则展示作业A对应状态)。
资源组/作业/Notebook 级:显示各自维度的安装状态。
支持点击依赖条目查看安装成功/失败详情和日志。

前提条件

注意:
依赖包功能为白名单功能,如需使用该功能请 提交工单 联系售后开通。
购买标准引擎 Spark。
如需使用存量引擎,请 提交工单 联系售后升级引擎镜像及网关镜像至2025-09-30及以后版本。

操作指南

1. 引擎级依赖管理

导航路径:资源管理 → 标准引擎 → 选择引擎 → 依赖包管理

安装

COS / Local File
支持 Jar 和 Python 包;从 COS 桶或本地上传。
PyPI
填写包名与版本(符合 PyPI 命名);默认使用腾讯云仓库,支持外部源。
Maven
填写 Maven 坐标;默认使用腾讯云仓库,支持自定义远程仓库与排除依赖项。

卸载

选择依赖 → 单击“卸载”。卸载为异步操作,将在下一次计算实例启动时生效。

克隆

从其他引擎一键克隆依赖环境;重复依赖自动跳过。

2. 资源组级依赖管理

导航路径:资源管理 → 标准引擎 → 选择引擎 → 资源组管理 → 选择资源组 → 依赖包管理。
安装/卸载:与引擎级一致。

3. 作业级依赖管理

导航路径:数据开发与探索 → 数据作业 → 创建/编辑作业 → 依赖资源
说明:针对单个作业定制依赖,仅对该作业生效。
安装方式:与引擎级一致。

4. 任务依赖环境总览

导航路径:运维管理 → 历史任务实例 → 选择任务 → 依赖环境。
说明:展示该任务实例最终依赖集合及安装状态(覆盖引擎/资源组/作业级),用于快速排障。

依赖冲突处理

Maven(Jar)

直接依赖冲突:后安装的包安装失败。
传递依赖冲突:系统自动移除冲突传递依赖,安装成功;可查看依赖移除记录。
类冲突:安装成功但可能在运行时冲突。
未使用冲突类:任务正常运行。
使用冲突类:任务失败并在日志中显示原因。

PyPI(Python)

同级重复安装:同名或不同版本的重复安装,后安装的依赖失败。
不同级重复安装
标准引擎/资源组/作业级别:按照添加时间顺序执行安装,后安装的依赖失败。
Notebook 级别:可以改写父级已有包的版本。

最佳实践

核心原则

最小化引擎级依赖
引擎级是租户引擎级的全局基线,影响全局。除非确认“所有场景均需要”的公共依赖,否则不建议在引擎级添加过多依赖。减少全局耦合与跨团队兼容成本。
优先用资源组做隔离与分层演进
将团队/业务线通用依赖放在资源组级,天然隔离不同团队/项目的差异化需求,避免全局污染。
作业/Notebook 级做最小补充
仅放置该作业/Notebook 独有、短期验证或小范围个性化依赖;当有多个作业复用时,上移到资源组级统一管理。

场景化建议

多团队共用同一引擎
引擎保持“企业通用底座”。
团队差异化依赖放在各自资源组,避免互相牵制。
算法团队快速试验
Notebook 阶段允许快速试装;发布前将依赖固化到资源组级。

常见问题(FAQ)

Q:Maven 传递依赖冲突如何处理?
A:系统自动移除冲突传递依赖并记录详情;请在安装日志与“移除记录”中确认影响范围。
Q:安装/卸载为何未即时生效?
A:依赖变更在计算实例启动时生效。请按“生效动作”重启资源组或重新创建作业/会话。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈