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 政策
隐私协议
数据处理和安全协议
服务等级协议
联系我们
文档数据湖计算实践教程DATA + AIDLC + Wedata 分布式离线推理实践教程

DLC + Wedata 分布式离线推理实践教程

PDF
聚焦模式
字号
最后更新时间: 2026-01-13 17:05:29
本文以鸢尾花数据集为例,通过 DLC 与 WeData 联动,依托 SparkMLlib 框架实现分布式离线推理。
说明:
目前 DLC 机器学习资源组、WeData Notebook 探索均为开白功能,如需使用,请 提交工单 联系 DLC 与 WeData 团队开通机器学习资源组、Notebook、MLflow 服务。

背景介绍

数据湖计算 DLC 支持使用机器学习资源组中的 SparkMLlib 框架进行分布式离线推理,协助用户实现大规模数据(TB/PB级)情景下的模型训练。
离线推理(Batch Inference):是指模型一次性对按照批划分的静态数据进行批量预测的计算过程。
分布式离线推理:是离线推理的一种实现方式​​,通过分布式计算框架(如 Spark)将批量预测任务分配到多台机器上并行执行。

准备工作

1. 开通账号与产品:通过主账号开通 DLC 账号,WeData 账号以及相关功能。
2. 配置数据访问策略:用户在访问管理(CAM)上对数据访问权限进行策略配置。

前往 DLC 配置资源,准备数据集

步骤一:购买计算资源,创建资源组

准备工作完成后,通过数据湖计算 DLC 购买计算资源,并创建以机器学习为业务场景、依托 SparkMLlib 的资源组。
1. 购买计算资源:
进入数据湖计算DLC > 标准引擎页面,单击创建资源,该场景下需购买的引擎版本为标准引擎,引擎类型为Spark,内核版本选择Standard-S 1.1。
说明:
购买账号需要有财务权限或是主账号进行购买。
计费模式您可根据业务场景进行选择。
集群规格建议选择64CU以上。
购买成功后,首次启动会有数分钟的等待时间,如长时间未能完成启动,请 提交工单
2. 创建资源组:
返回 标准引擎 页面,您需要在该引擎下,创建以机器学习为业务场景、依托 SparkMLlib 框架的资源组,实现分布式离线推理。创建资源组步骤请参见 创建机器学习资源组注意业务场景选择机器学习,框架类型选择Spark MLlib,内置镜像选择Standard-S1.1


步骤二:上传 COS 中的数据集至 DLC

若数据集存储在 COS 中,可以通过创建外部表上传至 DLC,从而在 WeData 中调用该数据集。操作步骤详情请参见 上传机器学习数据集至 COS

前往 WeData 进行离线推理

资源组与数据集创建完成后,前往 WeData 通过 Notebook 和 MLflow 进行离线推理。

步骤一:创建 WeData 项目并关联 DLC 引擎

1. 创建项目或选择已有的项目,详情请参见 项目列表
2. 在配置存算引擎中选择所需的 DLC 引擎。

步骤二:购买执行资源组并关联项目

如果您需要在编排空间中周期性调度 Notebook 任务,请购买调度资源组并与指定项目进行关联。具体操作步骤详情请参见 购买执行资源组并关联项目

步骤三:运行离线推理 Notebook 文件

1. 创建 Notebook 工作空间:
在项目中选择数据治理功能,单击 Notebook 功能,进入Notebook探索页面,单击创建工作空间
创建工作空间页面,请选择购买标准 Spark 引擎,standard-S 1.1版本的引擎,勾选机器学习选项以及 MLflow 服务。该页面的配置操作详情请参见 创建 Notebook 工作空间
2. 创建 Notebook 文件:在左侧资源管理器可以创建文件夹和 Notebook 文件,注意:Notebook 文件需要以(.ipynb)结尾。在资源管理器中,预先内置了两个大数据系列教程,支持用户开箱即用。
3. 选择内核(kernel):
单击选择内核。

在下拉选项中选择“DLC资源组”。
在下一级选项中选择 DLC 数据引擎中的您创建的 Spark MLlib 资源组。
4. 单击运行按钮,弹出内核配置窗口,自定义 Spark 会话名称(此处命名为test2),用于在 DLC 中查找该会话,可设置自动释放时间,通过编辑高级参数协调计算资源。

执行实践教程:通过两种方式加载数据集,采用K近邻算法对不同类型的花分类并输出分类结果。
from pyspark.sql import SparkSession
from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
import mlflow
from mlflow.models import infer_signature

spark = SparkSession.builder.getOrCreate()

#加载数据集
#方法一:通过机器学习库加载数据集
X, y = datasets.load_iris(as_frame=True, return_X_y=True)
#方法二:通过tencentcloud-dlc-connector加载DLC中数据
#安装驱动
!pip install tencentcloud-dlc-connector
!pip install --upgrade 'sqlalchemy<2.0'
#安装版本
!pip install --upgrade pandas==2.2.3
!pip install numpy
!pip install matplotlib
import pandas as pd
import numpy as np
import tdlc_connector
from tdlc_connector import constants
mlflow.sklearn.autolog()
#使用 tdlc-connector 按照表方式访问
conn = tdlc_connector.connect(region="ap-***", #填入正确地址,如ap-Singapore,ap-Shanghai
secret_id="*******",
secret_key="*******",
engine="your engine",#填入购买的引擎名称
resource_group=None,
engine_type=constants.EngineType.AUTO,
result_style=constants.ResultStyles.LIST,
download=True
)
query = """
SELECT `sepal.length`, `sepal.width`,`petal.length`,`petal.width`,species FROM at_database_testnotebook.demo_test_sklearn
"""
iris = pd.read_sql(query, conn)
spark_iris = spark.createDataFrame(iris)
#划分特征列与目标列
feature_cols = ["sepal_length", "sepal_width", "petal_length", "petal_width"]X = spark_iris.select(feature_cols)
X = spark_iris.select(feature_cols)
y = spark_iris.select("species")

#使用K近邻算法进行分类
model = KNeighborsClassifier()
model.fit(X, y)
predictions = model.predict(X)
signature = infer_signature(X, predictions)

with mlflow.start_run():
model_info = mlflow.sklearn.log_model(model, artifact_path="model", signature=signature)
infer_spark_df = spark.createDataFrame(X)
pyfunc_udf = mlflow.pyfunc.spark_udf(spark, model_info.model_uri)
result = infer_spark_df.select(pyfunc_udf(*X.columns).alias("predictions")).toPandas()
print(result)

步骤四:查看运行结果与模型管理

1. 通过单击运行结果中的链接进入模型实验界面,该界面显示了模型的详细信息,单击模型注册即可将该模型保存至模型管理。

2. 模型管理界面可查看注册的模型以及模型版本。

前往 DLC 查看 Spark 会话

1. 返回 标准引擎 页面,进入您购买的引擎的详情页,选择资源组管理
2. 单击创建的资源组(依托 SparkMLlib 框架),选择Spark会话,查看 Spark 会话的自动销毁时间,可以通过操作栏下的 Kill 销毁 Spark 会话。


帮助和支持

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

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

文档反馈