首页 > 其他分享 >dremio 24 版本对于表优化的处理

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

时间:2023-02-12 19:34:14浏览次数:140  
标签:24 dremio pluginType java 版本 new main com

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/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/

标签:24,dremio,pluginType,java,版本,new,main,com
From: https://www.cnblogs.com/rongfengliang/p/17114519.html

相关文章

  • 新版本固件不支持24口万兆电口LSU1TGT24SF0板卡
    一、停产公告官网信息二、两块24口万兆电口板卡LSU1TGT24SF0,在7596P07固件版本下能被正确识别两块24口万兆电口板卡LSU1TGT24SF0,在7596P10固件及之前的版本下能被正确识别,......
  • 前端项目实战24-封装一个下拉框组件
    import{Select}from"antd";typeSelectProps=React.ComponentProps<typeofSelect>;interfaceIdSelectPropextendsOmit<SelectProps,"value"|"onChange"|"o......
  • 代码版本回退
    将代码回退到指定的版本  点击Hard选项 ......
  • ReplaceGoogleCDN扩展 V2版本和V3版本的区别
    文档说明:只记录关键地方;2023-02-11环境:chromium内核备注:firefox目前不支持declarativeNetRequest区别:v2版本允许通过javascript脚本动态修改HTTP请求头、......
  • 1G=1024Mb 1Mb=1024kb 1kb=1000bp
     一直纠结这种单位换算,是1024还是1000,原来是这样计算的。  来源:https://www.jianshu.com/p/6da01c23d1c0 ......
  • flannel 低版本glog flag redefined error 问题解决
    最近在构建一个老版本的flannel的时候碰到了此问题,记录下,方便使用解决方法glideinstall--strip-vendor--strip-vcs参考资料https://stackoverflo......
  • HDU 1024 Max Sum Plus Plus
    题目大意:给定一个长度为\(n\)数组,求划分成\(m\)段不相交区间的子段和最大值得问题那么需要考虑得就是对于第i个数字,是否选中它在m个区间中,以及如果选中它那么它在第几个......
  • cmake如何切换版本
    需要升级到3.8.2下载cmake源码,下载地址https://cmake.org/files/v3.8/cmake-3.8.2.tar.gz解压tarzxvfcmake-3.8.2.tar.gz一编译安装3.8.2版本第一步./configuremake......
  • CMake添加文件版本信息
    CMake添加文件版本信息windows如何添加版本信息,主要分三步从git获取版本信息 #获取githash execute_process( COMMANDgitlog-1--format=%H WORKING_DI......
  • 【230212-2】已知:ab=24,bc=48,ac=72 求:a+b+c=?
    ......