EMR Serverless Spark 提供统一的外部模型服务注册能力,支持对接百炼、PAI-EAS 及自建模型服务。无需编写代码,通过 SQL 即可实现批量情感分析、内容生成、智能标签提取与向量化嵌入,让 AI 推理无缝融入数据处理流程。
统一操作流程:四步集成法
为降低AI接入门槛,EMR Serverless Spark 提供标准化集成路径,支持百炼、PAI-EAS 及自建模型服务,通过“四步法”实现注册即用、SQL调用。
本文以阿里云PAI为例,演示Qwen3-0.6B模型在PAI-EAS的部署与EMR中的注册调用,完成AI推理的无缝集成。
步骤 | 目标 | 所属平台 |
部署服务 | 在PAI-EAS中发布服务 | 阿里云PAI控制台 |
获取凭证 | 获取 | 阿里云PAI控制台 |
注册服务 | 在 EMR Serverless Spark中注册外部模型 | EMR Serverless Spark 控制台 |
调用模型 | 使用 SQL 执行ai_query() | EMR Serverless Spark 控制台 |
如果您已成功在PAI控制台部署服务,请直接跳转至获取凭证。
部署服务
以部署公共模型中的Qwen3-0.6B为例。
公共模型是指已预置部署模板的模型,可一键部署,无需准备模型文件。如选择自定义模型,需通过对象存储OSS等方式挂载模型文件。
获取凭证
服务部署成功后,您需要获取其VPC调用地址和Token,用于后续在 EMR Serverless Spark 中注册该服务。
在推理服务页签,单击您的服务名称进入概览页面,在基本信息区域单击查看调用信息。
在调用信息面板,可获取VPC调用地址和Token。

注册服务
将 PAI-EAS 服务注册到 EMR Serverless Spark中,以便 Spark SQL 中的 ai_query() 函数能够识别并调用它。
进入模型服务页面。
在左侧导航栏,选择。
在Spark页面,单击目标工作空间名称。
在EMR Serverless Spark页面,单击左侧导航栏中的。
在模型服务页签,单击创建外部模型服务,并配置以下信息:
字段
值示例
说明
模型服务名称
my_qwen_service该名称用于后续
AI Function中endpointName入参的值,工作空间中唯一,不支持后续修改。Endpoint
http://12*******39.vpc.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/<ServiceName>/v1填写上一步中获取的VPC调用地址,并在其末尾手动添加
/v1。模型名称
/mnt/data/Qwen/Qwen3-0___6B服务部署时模型挂载全路径。
模型类型
Chat根据部署的模型类型选择
Chat还是Embedding。API KEY
nMzI**********************Zg==填写上一步中获取的
Token信息。描述
通义千问0.6B在线服务
填写服务的简要描述,便于识别。
确认所有配置项无误后,单击创建完成模型服务注册。
调用模型
完成模型服务注册后,您即可在 EMR Serverless Spark 中使用内置的 ai_query() 函数,通过标准 SQL 语句调用大模型服务,实现无需编写代码的 AI 推理能力集成。
Gateway类型任务(Livy、Kyuubi)当前暂不支持。
创建 Spark SQL 作业并启用 AI 功能
在开发目录页签下,单击
(新建)图标。在弹出的对话框中,输入名称,类型选择SparkSQL,然后单击确定。
在右上角下拉列表中单击创建SQL会话,并配置以下信息:
配置项
设置说明
引擎版本
选择以下版本。
esr-4.x:esr-4.6.0及之后版本。
esr-3.x:esr-3.5.0及之后版本。
esr-2.x:esr-2.9.0及之后版本。
高级配置
在自定义配置中,添加
spark.emr.serverless.ai.function.enable trueSpark配置启用 AI 功能。
编写 SQL 调用模型
在数据开发页面,使用 ai_query() 函数编写 SQL 语句来调用模型。
-- 第二个参数 'my_qwen_service' 是注册模型服务时的模型服务名称 select ai_query('请判断下面这个评论是正向还是负向?\n 这个东西相当不行', 'my_qwen_service');查看推理结果
执行成功后,返回结果如下所示。
<think> 嗯,用户让我判断这个评论是正向还是负向。评论是“这个东西相当不行”。首先,我需要理解这句话的意思。用户说的是“这个东西”不好,所以应该属于负面评价。 接下来,我需要考虑常见的负面评价的特征。通常,负面评价会包含明显的负面词汇,比如“不行”、“不好”、“糟糕”、“糟糕的”等。这些都是典型的负面情感词汇。此外,用户用了“相当”这个词,可能是在强调程度,但主要还是在表达不满。 然后,我要考虑用户的潜在需求。用户可能是在对某个产品或服务不满意,需要判断这个评论是否有效传达了负面情绪。用户可能希望了解评论的方向,或者是否需要进一步处理。 还要注意用户可能的深层意图。用户可能是在寻找如何处理这类评论,或者是否应该进行改进。因此,回答时需要明确指出评论的负面性质,并解释原因,这样用户能清楚理解。 最后,确保回答简洁明了,直接指出评论是负向的,同时保持礼貌和专业。这样用户就能得到准确的信息,没有歧义。 </think> 这个评论是**负向**的。
相关文档
更多PAI-EAS模型自定义部署相关信息,请参见模型在线服务 EAS 快速入门。
PAI-EAS提供了一站式LLM部署解决方案,请参见LLM大语言模型部署。
常见问题
Q: 如何关闭 ai_query() 函数中的“think”过程(如思维链/推理步骤)?
A: ai_query() 支持通过参数控制模型输出行为。若需关闭思维链(thinking)过程,仅返回最终结果,可在调用时传入如下配置{"chat_template_kwargs": {"enable_thinking": false}}。

enable_thinking参数仅适用于 Qwen 系列模型。对于其他模型,关闭思维链(thinking)的参数,需要根据具体模型的参数进行配置。支持通过
temperature、top_k等参数调节模型输出的随机性与多样性。具体支持的参数请参考所使用模型的官方文档。