dremio ce kernel 提供的一些配置类

dremio ce kernel 包提供了不少对于dremio的扩展类,比如规则,parquet 读取,以及反射处理的,以下是一个简单说明

参考配置

标准的sabot-module.conf 文件

dremio: {
  classpath.scanning {
    packages += "com.dremio.extra.exec.store.dfs"
    packages += "com.dremio.exec.planner.acceleration.substitution"
  }
 
  plugins : {
    dfs.rulesfactory: com.dremio.extra.exec.store.dfs.FileVectorizedRulesFactory
    parquet.factory: com.dremio.extra.exec.store.dfs.parquet.VectorizedReaderFactory
    parquet.input_stream_factory: com.dremio.extra.exec.store.dfs.parquet.SmartStreamFactory
    iceberg.manifests.input_stream_factory: com.dremio.extra.exec.store.dfs.iceberg.AsyncSeekableInputStreamFactory
  }
 
  exec: {
    substitution.factory: "com.dremio.exec.planner.acceleration.substitution.DremioSubstitutionProviderFactory"
  }
 
  reflection {
    planning.node-stripper.class: "com.dremio.exec.planner.acceleration.normalization.AdvancedNodeStripper"
    materialization.descriptor.factory: "com.dremio.reflection.AdvancedMaterializationDescriptorFactory"
  }
}

配置类的加载

使用了typesafe 的配置加载,以及动态类创建

// 比如InputStreamProviderFactory 的加载
this.factory = context.getConfig().getInstance(InputStreamProviderFactory.KEY, InputStreamProviderFactory.class, InputStreamProviderFactory.DEFAULT);

说明

ce-kernel 中的一些包还是比较重要的,尤其是在分析dremio 执行的时候,了解一些类的分布还是比较重要的,可以方便了解内部机制

posted on 2024-03-25 08:00  荣锋亮  阅读(5)  评论(0编辑  收藏  举报

导航