- Sqoop 教程
- Sqoop - 首页
- Sqoop - 简介
- Sqoop - 安装
- Sqoop - 导入
- Sqoop - 导入所有表
- Sqoop - 导出
- Sqoop - Sqoop 作业
- Sqoop - 代码生成
- Sqoop - Eval
- Sqoop - 列出数据库
- Sqoop - 列出表格
- Sqoop 有用资源
- Sqoop - 问题与解答
- Sqoop - 快速指南
- Sqoop - 有用资源
- Sqoop - 讨论
Sqoop - 代码生成
本章介绍了“代码生成”工具的重要性。从面向对象应用程序的角度来看,每个数据库表都有一个包含“getter”和“setter”方法以初始化对象的 DAO 类。此工具 (-codegen) 会自动生成 DAO 类。
根据表模式结构,它会生成 Java 中的 DAO 类。Java 定义实例化是导入过程的一部分。此工具的主要用途是检查 Java 是否丢失了 Java 代码。如果丢失,则会使用字段之间的默认分隔符来创建新版本的 Java。
语法
以下是 Sqoop codegen 命令的语法。
$ sqoop codegen (generic-args) (codegen-args) $ sqoop-codegen (generic-args) (codegen-args)
示例
让我们看一个示例,它为 userdb 数据库中 emp 表生成 Java 代码。
以下命令用于执行给定的示例。
$ sqoop codegen \ --connect jdbc:mysql:///userdb \ --username root \ --table emp
如果命令执行成功,它将在终端上产生以下输
14/12/23 02:34:40 INFO sqoop.Sqoop: Running Sqoop version: 1.4.5 14/12/23 02:34:41 INFO tool.CodeGenTool: Beginning code generation ………………. 14/12/23 02:34:42 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /usr/local/hadoop Note: /tmp/sqoop-hadoop/compile/9a300a1f94899df4a9b10f9935ed9f91/emp.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. 14/12/23 02:34:47 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop-hadoop/compile/9a300a1f94899df4a9b10f9935ed9f91/emp.jar
验证
让我们看看输出。加粗的路径是 emp 表的 Java 代码生成并存储的位置。让我们使用以下命令验证该位置的文件。
$ cd /tmp/sqoop-hadoop/compile/9a300a1f94899df4a9b10f9935ed9f91/ $ ls emp.class emp.jar emp.java
如果您想深入验证,请比较 userdb 数据库中的 emp 表和以下目录中的 emp.java
/tmp/sqoop-hadoop/compile/9a300a1f94899df4a9b10f9935ed9f91/.
广告