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 项目持续优化用户体验、提升系统能力的开发理念。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
HY-Embodied-0.5这是一套专为现实世界具身智能打造的基础模型。该系列模型采用创新的混合Transformer(Mixture-of-Transformers, MoT) 架构,通过潜在令牌实现模态特异性计算,显著提升了细粒度感知能力。Jinja00
LongCat-AudioDiT-1BLongCat-AudioDiT 是一款基于扩散模型的文本转语音(TTS)模型,代表了当前该领域的最高水平(SOTA),它直接在波形潜空间中进行操作。00