Apache Kyuubi 中 ZORDER 插入功能的优化实践
背景介绍
在 Apache Kyuubi 项目中,ZORDER 是一种重要的数据组织技术,它通过多维排序优化数据布局,能够显著提升查询性能。然而,在特定场景下,当执行计划为 Repartition 或 RepartitionByExpression 时,系统无法支持 ZORDER 插入操作,这限制了用户在某些数据处理场景下的灵活性。
问题分析
ZORDER 技术本质上是一种多维数据的空间填充曲线排序方法,它通过将多维数据映射到一维空间,使得在查询时能够更高效地跳过不相关的数据块。在 Kyuubi 的实现中,当 ZORDER_GLOBAL_SORT_ENABLED 配置为 false 时,系统本应允许在更广泛的执行计划场景下使用 ZORDER 插入功能。
当前限制主要出现在两种执行计划场景:
- Repartition(重分区)操作:这种操作会按照指定分区数重新分布数据
- RepartitionByExpression(按表达式重分区)操作:这种操作会根据特定表达式重新组织数据分布
这两种操作都是常见的数据处理模式,限制在这些场景下使用 ZORDER 插入功能会影响用户的数据处理流程设计。
解决方案
经过技术分析,解决方案的核心在于放宽 ZORDER 插入的限制条件,允许在 ZORDER_GLOBAL_SORT_ENABLED 为 false 时,即使在 Repartition 或 RepartitionByExpression 执行计划下也能执行 ZORDER 插入操作。
这一改进涉及以下几个关键技术点:
- 执行计划识别:系统需要准确识别 Repartition 和 RepartitionByExpression 这两种执行计划类型
- 配置检查:正确判断 ZORDER_GLOBAL_SORT_ENABLED 配置的状态
- 操作授权:在满足条件时授权执行 ZORDER 插入操作
实现细节
在具体实现上,主要修改了 Kyuubi 的执行计划验证逻辑。原先的验证流程会严格限制在某些特定的执行计划类型下才能进行 ZORDER 插入,现在则扩展了验证条件,当全局排序未启用时,允许在更广泛的执行计划场景下使用 ZORDER。
这一改进保持了系统的核心功能不变,只是扩展了适用场景,因此不会引入额外的性能开销或复杂性。同时,由于仍然保留了 ZORDER_GLOBAL_SORT_ENABLED 的配置检查,用户可以根据实际需求灵活控制 ZORDER 的使用范围。
实际价值
这一改进为用户带来了以下实际价值:
- 更大的灵活性:用户可以在更多数据处理场景下使用 ZORDER 优化技术
- 更好的性能:在重分区等常见操作中也能利用 ZORDER 的数据组织优势
- 更简单的配置:通过单一配置项即可控制 ZORDER 的使用范围
总结
Apache Kyuubi 团队通过这次改进,进一步提升了系统在大规模数据处理场景下的适应性和性能表现。ZORDER 技术的应用范围扩展,使得用户能够在更复杂的数据处理流程中享受到多维排序带来的查询性能优势。这一改进体现了 Kyuubi 项目持续优化用户体验、提升系统能力的开发理念。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00