sqoop 抽取源码流程分析( 三 ) 代码生成工具分析
来源:互联网 发布:80端口被进程4占用 编辑:程序博客网 时间:2024/05/16 23:35
1. 工具的作用
根据数据库 Schema 信息生成一个java文件,并编译打包。
2. 继承关系
public class CodeGenTool extends com.cloudera.sqoop.tool.BaseSqoopTool {
可以看出,基本上所有的工具类都从BaseSqoopTool 继承3而来,具体的关系,已经在ImportTool 工具的代码分析中讲过。
3. 工具类的run 方法
@Override /** {@inheritDoc} */ public int run(SqoopOptions options) {...... generateORM(options, options.getTableName());.....
3.1 generateORM 的具体实现
public String generateORM(SqoopOptions options, String tableName) throws IOException {...... CompilationManager compileMgr = new CompilationManager(options); ClassWriter classWriter = new ClassWriter(options, manager, tableName, compileMgr); classWriter.generate(); compileMgr.compile(); compileMgr.jar();......
3.2 代码生成 ClassWriter
这个部分主要是根据数据库的元数据信息进行
3.3 代码编译 CompilationManager
这个部分主要是对刚刚生成的代码进行编译的,具体细节请去看源码,这里暂时忽略
0 0
- sqoop 抽取源码流程分析( 三 ) 代码生成工具分析
- sqoop 抽取源码流程分析( 二 ) 导入工具代码结构分析
- sqoop 抽取源码流程分析(一) 主流程分析以及各种插件
- Thrift源码分析(三)-- IDL和生成代码分析
- WebRTC源码分析三:视频处理流程
- WebRTC源码分析三:视频处理流程
- WebRTC源码分析三:视频处理流程
- WebRTC源码分析三:视频处理流程
- WebRTC源码分析三:视频处理流程
- WebRTC源码分析三:视频处理流程
- 自定义控件(三) 源码分析measure流程
- Struts2源码粗略分析三:请求处理流程分析
- open-iscsi源码分析-流程详细分析(三)
- open-iscsi源码分析-流程详细分析(三)
- 【OpenStack源码分析之三】Nova-Compute启动流程分析
- 【OpenCV流程+代码分析】Opencv HOG行人检测 源码分析
- Sqoop源码分析(一) Eclipse调试Sqoop各种异常解决
- 代码生成rapid-generator源码分析
- android Studio优化
- 去哪网2015面试题:[编程题] 首个重复字符
- 不给人设定角色
- swift详解之二十七------------自定义UINavigationController的push和pop动画
- SQL查询每个分组的前N条记录
- sqoop 抽取源码流程分析( 三 ) 代码生成工具分析
- Android EditText的设置
- 本人新手,请大家多多指教
- UITableViewCell Storyboard加载错误解决
- 实战快速恢复Exchange 2010误删除的邮箱
- 第2周、项目1—C++语言中函数参数传递的三种方式
- 项目一,C++语言中函数的三种传递方式
- 将string中的unicode转为汉字 其他不变
- java 汉字保存到mysql 乱码