首页 > 其他分享 >dremio SabotContext 简单说明

dremio SabotContext 简单说明

时间:2022-12-28 18:23:48浏览次数:35  
标签:dremio 包含 DACDaemonModule 创建 简单 SabotContext ContextService

dremio 包含不少context,而且好多context 是直接在dremio 整个执行生命周期的,比如SabotContext,QueryContext,BootStrapContext。。。。
SabotContext 是一个比较重要的服务,具体的创建是由ContextService 初始化的,QueryContext 是在查询时动态创建的
SabotContext 上下文基本包含了dremio 大部分核心组件(catalogservice,userservice,namespace,spillservice,optionmanager,executorservice
statisticsservice,NessieApiV1,CredentialsService,AccelerationManager。。。。)包含了静态服务,以及动态服务,同时也包含dremio 的系统配置部分

SabotContext 的创建

SabotContext 的创建相对简单,核心是传入依赖的服务,基于ioc 的provider 创建,具体是由ContextService 类构建,生成是由DACDaemonModule 模块创建的

  • 构建SabotContext 的方法 
    参考ContextService 中的 protected SabotContext newSabotContext() throws Exception 方法
  • 创建 
    参考DACDaemonModule 中的build 方法

说明

dremio 的SabotContext 包含了核心部分的能力服务,很多插件以及扩展都需要依赖此的,了解SabotContext 包含的服务对于深入学习dremio 还是比较重要的

参考资料

sabot/kernel/src/main/java/com/dremio/exec/server/ContextService.java
dac/backend/src/main/java/com/dremio/dac/daemon/DACDaemonModule.java

标签:dremio,包含,DACDaemonModule,创建,简单,SabotContext,ContextService
From: https://www.cnblogs.com/rongfengliang/p/17010949.html

相关文章

  • dremio ClassCompilerSelector 简单说明
    ClassCompilerSelector核心是基于配置的策略选择不同的类编译器,然后编译为字节数组当前包含了基于jdk的以及janinoClassCompiler实现类图  使用到的类直接使用......
  • jdbc简单封装
    构成:1、资源文件db.properties,中存放了驱动类地址、数据库url、用户名、密码。2、jdbc工具类JdbcUtils.java。jdbc工具类中实现了:1、获取数据库连接。......
  • pinia的简单使用
    //安装//yarnaddpinia//在main.js中import{createPinia}from'pinia'constpinia=createPinia()app.use(pinia)//创建src/store/index.jsimport{d......
  • vue3使用bootstrap的简单加载遮罩层
    之前有使用过bootstrap做过一个简单的加载遮罩层,现把它加入到vue中。加载遮罩层一般来讲整个app共用一个就可以,因此放到App.vue中,为不影响其它的业务逻辑,放到</template>......
  • Chronicle Pro - 一款简单 Mac 理财规划师,管理你的的个人预算
    使用Chronicle追踪和支付账单,管理你的个人预算,这是一款简单的Mac理财规划师。获得通知,这样你就不会错过下一个付款截止日期;你再也不用付滞纳金了。把你所有的账单放在一......
  • 实现app短信验证码功能这样做就很简单!
    现在大多数app短信验证码服务都是由第三方服务商提供的,企业不需要对接运营商就可以让app具备三网发送短信功能,现在app短信验证码使用场景很多,比如说注册、登陆、支付等场景,a......
  • IntellIJ开发简单Minecraft插件(利用paper API)
    有的时候想实现服务器里的一些简单的功能,但是网上又找不到,这个时候可以尝试写一个出来。例如,在游戏里想要实现这样一个功能,玩家噶了之后在聊天栏处显示死亡坐标,这样可以方......
  • C#的λ表达式树(LambdaExpression)保姆级超详细简单入门教程
    有看过我之前发表过的C#相关文章分享和阅读过我代码的朋友们可能会在我的代码里面经常看到各种各样的λ表达式动态拼接,C#的λ表达式树是一个好东西,也是别的语言学不来......
  • SpringBoot高级篇搜索之Solr环境搭建与简单测试
    搜索可以说是非常常见的场景了,一般选择比较多的有solr和es,底层都是基于Lucene搜索引擎实现。之前简单的使用过solr,一直没有成体系的学习过,正好需要给一个内部项目封装统一的......
  • MySQL的group_concat()函数简单用法
    将groupby产生的同一个分组中的值连接起来,返回一个字符串结果。group_concat函数首先根据groupby指定的列进行分组,将同一组的列显示出来,并且用分隔符分隔。由函数参数(字......