本章介绍了'codegen'工具的重要性.从面向对象的应用程序的角度来看,每个数据库表都有一个DAO类,它包含初始化对象的'getter'和'setter'方法.这个工具(-codegen)自动生成DAO类.
它基于Table Schema结构在Java中生成DAO类. Java定义被实例化为导入过程的一部分.此工具的主要用途是检查Java是否丢失了Java代码.如果是这样,它将创建一个新版本的Java,并在字段之间使用默认分隔符.
语法
以下是Sqoop codegen命令的语法.
$ sqoop codegen(generic-args)(codegen-args)$ sqoop-codegen(generic-args)(codegen -args)
示例
让我们举一个为 \\ temp生成Java代码的示例 userdb 数据库中的表.
以下命令用于执行给定的示例.
$ sqoop codegen \--connect jdbc:mysql://localhost/userdb \--username root \ --table emp
如果命令成功执行,那么它将在终端上产生以下输出.
14/12/23 02:34:40 INFO sqoop.Sqoop: Running Sqoop version: 1.4.514/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/hadoopNote: /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
验证
让我们看一下输出.以粗体显示的路径是 \\ temp 表的Java代码生成和存储的位置.让我们使用以下命令验证该位置的文件.
$ cd /tmp/sqoop-hadoop/compile/9a300a1f94899df4a9b10f9935ed9f91/$ lsemp.classemp.jaremp.java
如果你想深入验证,比较 userdb 数据库中的 emp 表和以下目录中的 emp.java
/tmp/sqoop-的hadoop/编译/9a300a1f94899df4a9b10f9935ed9f91/.