2025年03月03日 — 1.0 Lakehouse Platform 产品更新发布说明
本次发布,我们引入了一系列新功能、增强特性以及修复项。这些更新将分阶段逐步推送至以下区域,预计在发布日起一周至两周内完成。具体时间依据您所在的区域而定。
- 阿里云上海区
- 腾讯云上海区
- 腾讯云北京区
- 腾讯云广州区
- 亚马逊北京区
- 国际站-阿里云-新加坡区
- 国际站-AWS-新加坡区
新功能特性
联邦查询更新【预览发布】
- 架构扩展:云器Lakehouse支持使用External Schema在Catalog级别映射和镜像外部数据源支持查询Hive。(之前只支持Hive对象存储架构,本期支持Hive HDFS架构)。参考EXTERNAL SCHEMA
- 增强Delta Lake格式读取:创建外部表Delta Lake格式自动Schema推断——创建外部表时无需手动声明字段信息,系统自动解析元数据。参考Delta Lake 外部表
导入导出更新
COPY命令增强
支持双字符CSV分隔符(如 ||
),突破原有单字符限制,提升复杂数据兼容性。参考COPY INTO导入
Pipe功能增强
-
支持Kafka Table Stream直连导入,通过 Table Stream您可以实现Exactly Once ,同时支持将连接信息存储在Connection中
-
- 支持通过
SHOW CREATE PIPE pipe_name
获取Pipe的DDL语句 - Pipe desc结果输出优化。DESC PIPE pipe_name显示结果字段,Pipe任务的输入对象名称和输出对象名称,增加Kafka点位消费信息
- 支持Alter命令修改Pipe导入参数如修改计算集群
- 支持通过
-
Pipe导入对象存储数据。支持过滤
.
开头和_temporary
开头的文件或者目录文件。参数IGNORE_TMP_FILE=FALSE|TRUE
。例如:
计算集群
精细化资源控制
新增GP型计算集群单作业资源占比配置,控制单作业最大资源占比10% 。避免大查询引发的资源抢占,提升集群稳定性:
SQL语法
- 支持创建SQL FUNCTION。通过这一功能,用户能够利用SQL DDL(数据定义语言)语句来定义自定义的SQL函数,从而增强数据处理和分析的灵活性。
- Lakehouse 正式推出列级安全(Column-level Security)功能,支持通过动态脱敏(Dynamic Data Masking)实现对敏感数据的细粒度控制。此功能允许管理员根据用户角色或属性,动态隐藏、部分显示或替换列中的敏感信息(如身份证号、信用卡号等),从而有效保护数据隐私。用户可以通过以下 SQL 语句实现动态脱敏:
通过定义脱敏策略并将其应用于表的列,在查询运行时,屏蔽策略将应用于该列出现的每个位置。根据屏蔽策略条件、SQL 执行上下文角色或者用户来进行脱敏。
- Lakehouse 数据存储优化功能。通过 OPTIMIZE 命令的高级参数,用户可以进行小文件合并
- DML增强:
UPDATE
支持ORDER BY ... LIMIT
语法 - 【预览发布】多方言兼容:通过SQLGlot集成支持PostgreSQL/MySQL/Hive/Presto等方言的部分语法
UDF功能
新增 cz.sql.remote.udf.lookup.policy
配置参数,支持动态切换 UDF 与内置函数的解析优先级
权限管理【预览发布】
新增Instance级别角色与跨空间授权能力:支持在实例(Instance)粒度创建角色并授予全局权限,实现跨空间(Workspace)的统一权限管控,满足多团队协作场景下的精细化访问控制需求。
函数
新增函数列表:
函数 | 功能 |
---|---|
collect_list_on_array | 该函数用于将输入的数组(array)元素收集到一个新的数组中,并返回该新数组。 |
collect_set_on_array | 函数用于从输入的数组表达式中提取不重复的元素,并将这些元素组成一个新的数组 |
str_to_date_mysql | 用于将字符串转换为日期,其实现与 msyql 中的 str_to_date 函数兼容 |
make_date | 根据年月日构造一个date类型 |
to_start_of_interval | 将时间 ts 按照 interval 截断,注意当interval为分钟时,需要保证其能被1天整除 |
json_remove | 将满足jsonPath的元素从jsonObject中删除,返回剩余的元素 |
element_at | 函数用于从数组或映射(Map)中提取指定位置或键的元素。 |
map_from_arrays | 使用两个array创建map,map的key和value于参数array中的顺序意义对应 |
endswith | ENDSWITH 函数用于判断一个字符串或二进制表达式是否以另一个指定的字符串或二进制表达式结尾。如果满足条件,则返回布尔值 TRUE ,否则返回 FALSE 。该函数支持字符串和二进制数据,适用于字符串处理和模式匹配场景。 |
format_string | 用于格式化字符串。它基于 printf 样式的格式字符串生成格式化后的字符串 |
is_ascii | 判断str是否只包含ascii编码的字符 |
is_utf8 | 判断str是否只包含utf-8编码的字符 |
regexp_extract_all | 函数用于从字符串中提取与正则表达式匹配的所有子串。 |
sha1 | 用于计算给定字符串的SHA1散列值 |
startswith | 函数用于判断一个字符串是否以另一个指定的字符串开头。如果满足条件,则返回布尔值 TRUE ,否则返回 FALSE 。该函数支持字符串和二进制数据,适用于字符串处理和模式匹配场景。 |
SDK
JDBC
内网端点优化:新增 use_oss_internal_endpoint=true
URL 参数配置,如果您使用的服务是阿里云支持查询时强制使用 OSS 内网 Endpoint。参考JDBC驱动
Java SDK
实时写入接口现已完整支持 Vector 数据类型,在Java客户端使用数组类型映射。满足 AI 场景下的向量检索需求。要求clickzetta-java版本大于2.0.0。参考Java SDK
Python SDK
- 支持实时写入能力:提供
clickzetta-ingestion-python-v2
模块(pip install clickzetta-ingestion-python-v2
),支持数据实时写入 Lakehouse 存储 - 支持异步提交:提供
clickzetta-connector-python
模块使用execute_async()
方法支持异步执行 SQL 查询,特别适用于长时间运行的查询 - 支持参数绑定:提供 `clickzetta-connector-python` 模块使用`execute()` 方法支持qmark、pyformat风格的参数绑定,适用于更灵活的查询
BUG修复
- SQL命令
SHOW PARTITION EXTENDED
修复结果中filesize显示错误的问题 - 生成列(Generated Column)兼容性优化。修复历史版本中 Bulkload 写入生成列时的校验报错问题
- 修复使用Copy命令导出数据是指定csv文件格式中的quote不生效问题
- 联邦查询修复External Schema在Options指定Schema不生效问题
- Volume查询正则匹配不生效问题
行为变更
- 数据留存周期默认值调整:
data_retention_days
由7天默认调整为1天 - 为提升开发灵活性与数据管理效率,Lakehouse 在本期版本中重磅推出 主键表 SQL 写入支持!现在您可以直接通过标准 SQL 语句(
INSERT
/UPDATE
/DELETE
)操作定义了主键的表