dremio 24 版本对于表优化的处理

dremio 24 版本开始支持表优化,主要是对于iceberg的表优化

机制简单说明

dremio 认为256M 是一个很不错的优选大小,其他的认为就是过小后者过大

参考图

 

 

额外的能力

支持基于路由的job处理,当然对于社区版是不行的,需要自己扩展

一些限制

  • 一次只能运行一个任务
  • 当前不支持delete 排序,以及元数据的重写

内部代码简单说明

这部分只是简单看了下,没有仔细研究
主要是对于基于文件的存储扩展支持了优化FileSystemRulesFactory 类中 主要是对于物理规则的添加

 
  case PHYSICAL:
        return ImmutableSet.<RelOptRule>of(
            new IcebergMetadataFilesystemScanPrule(pluginType, optimizerContext),
            new EasyFilesystemScanPrule(pluginType),
            new ParquetFilesystemScanPrule(pluginType),
            new IcebergFilesystemScanPrule(pluginType, optimizerContext),
            new DeltaLakeFilesystemScanPrule(pluginType, optimizerContext),
            ConvertCountToDirectScan.getAggOnScan(pluginType),
            ConvertCountToDirectScan.getAggProjOnScan(pluginType),
            new TableFilesFunctionScanPrule(pluginType),
            new FileSystemTableOptimizePrule(optimizerContext)
            );

参考资料

sabot/kernel/src/main/java/com/dremio/exec/planner/OptimizePlanGenerator.java
sabot/kernel/src/main/java/com/dremio/exec/planner/physical/TableOptimizePruleBase.java
sabot/kernel/src/main/java/com/dremio/exec/store/dfs/FileSystemRulesFactory.java
sabot/kernel/src/main/java/com/dremio/exec/planner/sql/handlers/query/OptimizeHandler.java
sabot/kernel/src/main/java/com/dremio/exec/planner/sql/handlers/query/OptimizeOptions.java
sabot/kernel/src/main/java/com/dremio/exec/planner/sql/parser/SqlOptimize.java
sabot/kernel/src/main/java/com/dremio/exec/planner/physical/FileSystemTableOptimizePrule.java
https://docs.dremio.com/software/data-formats/apache-iceberg/optimizing/
https://docs.dremio.com/software/sql-reference/sql-commands/apache-iceberg-tables/optimize-table/

posted on   荣锋亮  阅读(50)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2022-02-12 hive metadata 容器镜像
2022-02-12 lakefs metadata 集成
2022-02-12 lakefs 周边生态集成
2022-02-12 lakefs 监控
2022-02-12 lakefs hooks 试用
2021-02-12 几个开源的clickstream 分析工具
2021-02-12 partiql 学习一 试用

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示