External Function 概览

云器 Lakehouse 通过 External Function 机制支持自定义函数(UDF/UDAF/UDTF)。与内置 SQL 函数不同,External Function 的执行逻辑运行在云上的函数计算服务中(阿里云 FC、腾讯云 SCF、AWS Lambda),Lakehouse 通过 HTTP 协议调用并获取结果——你在 SQL 里写的是函数调用,函数体跑在云上的 Python 或 Java 代码里

这种机制的好处是:可以引入任意第三方库(scikit-learn、jieba、PyTorch 等),实现 SQL 原生函数无法完成的逻辑,同时保持在 SQL 中调用的体验。


工作原理

用户在 SQL 中调用 External Function → Lakehouse 向外部函数计算服务发送 HTTP 请求 → 获取处理结果并返回。

创建流程分四步:

  1. 开通云上函数计算服务(阿里云 FC / 腾讯云 SCF / AWS Lambda)和对象存储(OSS / COS / S3)
  2. 创建 Storage Connection 和 External Volume,将函数代码及依赖打包上传
  3. 创建 API Connection,授予 Lakehouse 调用函数计算服务的权限
  4. 执行
    CREATE EXTERNAL FUNCTION
    CREATE EXTERNAL FUNCTION
    注册函数,在 SQL 中调用

支持的函数类型与运行环境

函数类型PythonJava
UDF(单行输入单行输出)
UDAF(多行输入单行输出)
UDTF(单行输入多行输出)

运行环境:Java 8 / Python 3.10。依赖包压缩后超过 500 MB 时,需改用容器镜像方式部署,参考 利用 Hugging Face 图片识别模型处理图片数据


本章内容

页面说明
介绍:External Function概念、架构原理、优势、使用限制与计费说明
开发指南:Python3环境准备、代码结构、依赖打包、部署到阿里云 FC
开发指南:JavaJava 8 函数开发、打包、UDF/UDAF/UDTF 实现
使用指南:External Function授权配置、创建连接、注册函数、在 SQL 中调用的完整操作流程
CREATE EXTERNAL FUNCTIONDDL 完整语法和参数说明
Storage Connection + API Connection + External Function 组合实战三云环境(阿里云/腾讯云/AWS)从零跑通的完整示例,含 Python ML 函数、30 个 AI 函数、Java UDF/UDAF/UDTF
联系我们
预约咨询
微信咨询
电话咨询
邮件咨询