IT资讯 Apache Druid 24.0.0 发布了

easton · 2022-09-19 14:30:06 · 热度: 13

Apache Druid  是一个分布式的、支持实时多维 OLAP 分析的数据处理系统。它既支持高速的数据实时摄入处理,也支持实时且灵活的多维数据分析查询。因此 Druid 最常用的场景就是大数据背景下、灵活快速的多维 OLAP 分析。

另外,Druid 还有一个关键的特点:它支持根据时间戳对数据进行预聚合摄入和聚合分析,因此也有用户经常在有时序数据处理分析的场景中用到它。

目前 Apache Druid 24.0.0 发布了,此版本包含来自 67 个贡献者的 300 多个新功能、错误修复、性能增强、文档改进和额外的测试。以下是部分新功能:

多阶段查询任务引擎

Apache Druid 的基于 SQL 的摄取(ingestion)使用分布式多阶段查询架构,其中包括一个称名为多阶段查询任务引擎(MSQ 任务引擎)的查询引擎。 MSQ 任务引擎扩展了 Druid 的查询功能,因此可以编写引用外部数据的查询以及使用 SQL INSERT 和 REPLACE 执行摄取。

从 Druid 24.0.0 开始,使用多阶段查询任务引擎的基于 SQL 的摄取是最推荐的解决方案,同时也仍支持替代摄取解决方案,例如本机批处理和基于 Hadoop 的摄取系统。

参考:

#12524
#12386
#12523
#12589

嵌套列

Druid 现在支持将嵌套数据结构直接存储在新添加的 COMPLEX<json> 列类型中。 COMPLEX<json> 列以 JSON 格式存储结构化数据的副本,以及用于嵌套文字值(STRING、LONG 和 DOUBLE 类型)的专用内部列和索引。

参考:

#12753
#12714
#12753
#12920

更新 Java 支持

完全支持 Java 11 ,Java 17 支持得到改进。

#12839

查询引擎更新

更新了列索引和过滤器的查询处理

重新设计的列索引非常灵活,允许对各种索引类型进行建模。添加了构建使用更新索引的过滤器的机制,同时还允许其他列实现实现内置索引类型以提供适配器,以在 Druid 提供的当前集合过滤器中使用索引。

#12388

时间过滤运算符

现在可以使用 Druid SQL 运算符 TIME_IN_INTERVAL 根据时间过滤查询结果。优先使用 TIME_IN_INTERVAL 而不是 SQL BETWEEN 运算符以按时间过滤。详细信息请参阅日期和时间函数。

#12662

Null 值和“in”过滤器

如果values数组包含null,则“in”过滤器匹配空值。与不匹配空值的 SQL IN 过滤器不同。

有关详细信息,请参阅 询过滤器和 SQL 数据类型。
#12863

搜索查询中的虚拟列

以前,搜索查询只能搜索数据源中存在的维度,现在支持将虚拟列作为查询中的参数。

#12720

在 __time 上优化简单的 MIN / MAX SQL 查询

像现在这样的简单查询select max(__time) from ds作为timeBoundary查询运行,以利用段中的时间维度排序。可以设置功能标志来启用此功能。

#12472
#12491

字符串聚合结果

第一个/最后一个字符串聚合器现在仅根据值进行比较。以前,第一个/最后一个字符串聚合器的值首先根据_time列进行比较,然后再根据值进行比较。

如果有现有查询并希望继续使用_time列和值,请更新查询,以使用 ORDER BY MAX(timeCol)。

#12773

Jackson 序列化

引入并实现了新的辅助函数JacksonUtils以实现 SerializerProvider对象的重用。

此外,默认情况下禁用了对 GroupByQueryToolChest 基于映射的行的向后兼容性 ,这消除了复制重量级ObjectMapper. 引入了一个配置选项,允许管理员显式启用向后兼容性。

#12468

更新了 IPAddress Java 库

添加了一个新的 IPAddress Java 库依赖项来处理 IP 地址,该库包括 IPv6 支持,此外迁移了 IPv4 函数以使用新库。

#11634

 

其他还包括大量性能改进,这是一个大型版本,更多详情请查看更新公告。

 

为您推荐与 druid 相关的帖子:

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册