StarRocks version 2.5
2.5.0
发布日期: 2023 年 1 月 22 日
新增特性
- Hudi catalog 和 Hudi 外部表支持查询 Merge On Read 表。#6780
- Hive catalog、Hudi catalog 和 Iceberg catalog 支持查询 STRUCT 和 MAP 类型数据。#10677
- 提供 block cache,在查询 HDFS 或对象存储上的热数据时,大幅优化数据访问效率。#11597
- 支持 Delta Lake catalog,无需导入数据或创建外部表即可查询 Delta Lake 数据。#11972
- Hive catalog、Hudi catalog 和 Iceberg catalog 兼容 AWS Glue。#12249
- 支持通过文件外部表查询 HDFS 或对象存储上的 Parquet 和 ORC 文件。#13064
- 支持基于 Hive、Hudi 或 Iceberg catalog 创建物化视图,以及基于物化视图创建物化视图。相关文档,请参见物化视图。#11116 #11873
- 主键模型表支持条件更新。相关文档,请参见通过导入实现数据变更。#12159
- 支持 Query Cache,通过保存查询的中间计算结果提升简单高并发查询的 QPS 并降低平均时延。#9194
- 支持为 Broker Load 作业指定优先级。相关文档,请参见 BROKER LOAD。#11029
- 支持为 StarRocks 原生表手动设置数据导入的副本数。相关文档,请参见 CREATE TABLE。#11253
- 支持查询队列功能。相关文档,请参见查询队列。#12594
- 支持通过资源组对导入计算进行资源隔离,从而间接控制导入任务对集群资源的消耗。相关文档,请参见资源隔离。#12606
- 支持为 StarRocks 原生表手动设置数据压缩算法:LZ4、Zstd、Snappy 和 Zlib。相关文档,请参见数据压缩。#10097 #12020
- 支持用户自定义变量 (user-defined variables)。#10011
- 支持 Lambda 表达式及高阶函数,包括:array_map、array_filter、array_sum 和 array_sortby。#9461 #9806 #10323 #14034
- 窗口函数中支持使用 QUALIFY 来筛选查询结果。#13239
- 建表时,支持指定 uuid 或 uuid_numeric 函数返回的结果作为列默认值。相关文档,请参见 CREATE TABLE。#11155
- 新增以下函数:map_size、map_keys、map_values、max_by、sub_bitmap、bitmap_to_base64、host_name 和 date_slice。#11299 #11323 #12243 #11776 #12634 #14225
功能优化
- 优化了 Hive catalog、Hudi catalog 和 Iceberg catalog 的元数据访问速度。#11349
- Elasticsearch 外部表支持查询 ARRAY 类型数据。#9693
- 物化视图优化
- 支持在建表时自动设置适当的分桶数。相关文档,请参见 CREATE TABLE。#10614
- 导入优化
- 优化多副本导入性能,支持
single_leader_replication
模式,性能提升 1 倍。关于该模式的详细信息,参见 CREATE TABLE。#10138 - 在单 HDFS 或单 Kerberos 环境下无需部署 broker 即可通过 Broker Load 或 Spark Load 进行数据导入。相关文档,请参见从 HDFS 或外部云存储系统导入数据和使用 Apache Spark™ 批量导入。#9049 #9228
- 优化了 Broker Load 在大量 ORC 小文件场景下的导入性能。#11380
- 优化了向主键模型表导入数据时的内存占用。#12068
- 优化多副本导入性能,支持
- 优化了 StarRocks 内置的
information_schema
数据库以及其中的tables
表和columns
表;新增table_config
表。相关文档,请参见 Information Schema。#10033 - 优化备份恢复:
- 函数优化:
- time_slice 增加参数,可以计算时间区间的起始点和终点。#11216
- window_funnel 支持严格递增模式,防止计算重复的时间戳。#10134
- unnest 支持变参。#12484
- lead 和 lag 窗口函数支持查询 HLL 和 BITMAP 类型数据。相关文档,请参见窗口函数。#12108
- array_agg、array_sort、array_concat、array_slice 和 reverse 函数支持查询 JSON 数据。#13155
-
current_date
、current_timestamp
、current_time
、localtimestamp
、localtime
函数后不加()
即可执行。例如select current_date;
。#14319
- 优化了 FE 日志,去掉了部分冗余信息。#15374
问题修复
修复了如下问题:
- append_trailing_char_if_absent 函数对空值操作有误。#13762
- 使用 RECOVER 语句恢复删除的表后,表不存在。#13921
- SHOW CREATE MATERIALIZED VIEW 返回的结果缺少 catalog 及 database 信息。 #12833
- waiting_stable 状态下的 schema change 任务无法取消。 #12530
-
SHOW PROC '/statistic';
命令在 leader FE 和非 leader FE 上返回的结果不同。 #12491 - FE 生成的执行计划缺少 partition ID,导致 BE 获取 Hive partition 数据失败。#15486
- SHOW CREATE TABLE 返回结果中 ORDER BY 子句位置错误。#13809
行为变更
-
AWS_EC2_METADATA_DISABLED
参数默认设置为False
,即默认获取 Amazon EC2 的元数据,用于访问 AWS resource。 - 会话变量
is_report_success
更名为enable_profile
,可通过 SHOW VARIABLES 语句查看。 - 新增四个关键字:
CURRENT_DATE
,CURRENT_TIME
,LOCALTIME
,LOCALTIMESTAMP
。#14319 - 表名和库名的长度限制放宽至不超过 1023 个字符。 #14929 #15020
升级注意事项
- 可以从 2.0.x,2.1.x,2.2.x,2.3.x 或 2.4.x 升级。如需回滚版本,建议只回滚到 2.4.x。