dremio 的配置管理简单说明
dremio 包含了一套比较完备的配置处理,包含了注解以及接口定义,也包装为了一个bean 模块,各个系统可以方便的使用
同时对于配置也包含了类型校验处理
支持的配置类型
public enum OptionType {
BOOT, SYSTEM, SESSION, QUERY
}
参考实现类图
不同场景的配置存储模式是不一样的
SessionOptionManager,QueryOptionManager,FragmentOptionManager 是在内存中的,SystemOptionManager 是持久化到存储中的
ProjectOptionManager 这个配置选项暂时还没看到类似的介绍以及使用(可能是企业版的)
配置选项校验处理
为了保证配置选项的准确性,dremio 提供了一个类型校验的主要是OptionValidator 抽象类,同时基于抽象类开发了不少类型处理类
说明
关于配置官方开发了自己的模块,同时在kernel 模块也提供了部分实现,设计上模块化管理还是很不错的
参考资料
services/options/src/main/java/com/dremio/options/OptionValidator.java
sabot/kernel/src/main/java/com/dremio/exec/server/options