Servlet调用过程及生命周期
2021-12-30 23:28:28 5 举报
DFG
作者其他创作
大纲/内容
HMaster类
加盐表的预分区核心逻辑
1.创建MetaDataClient对象2.创建CreateTableCompiler对象的内部内CreateTableMutationPlan类对象,将MetaDataClient对象放入此对象一起返回
ensureTableCreated方法
CreateTableCompiler类
ConnectionQueryServicesImpl类
1.将Statement转换成PTable的模型,更新SYSTEM.TABLE中的内容(调用PhoenixConnection.addTable方法将表添加到元数据目录中)2.判断是否是加盐表,符合条件会调用SchemaUtil.processSplits()进行盐表预分区3.1.调用ConnectionQueryServicesImpl.createTable()方法开始创建HBase物理表
1.调用MetaDataClient.createTable()方法开发建表准备操作
compile方法
execute方法
1.调用generateTableDescriptor方法添加对应的表协处理器2.调用HBase HBaseAdmin API的createTable方法创建表
1.调用CreateTableMutationPlan.execute()方法执行计划
createTable方法
CreateTableMutationPlan内部类的execute方法
1.根据预分区拆分键splitKeys划分分区范围,生成RegionInfo[]2.执行MasterProcedureUtil.submitProcedure方法,将创建表的多个Procedure提交给ProcedureExecute执行,逐步的完成HBase表的真正创建
MetaDataClient类
1.根据表的类型和属性,调用不同的表创建方法,最终都会调用到ensureTableCreated方法创建物理表
PhoenixStatement类
1.
createTableInternal方法
收藏
收藏
0 条评论
下一页