📜  Sqoop-Codegen

📅  最后修改于: 2020-11-29 08:23:39             🧑  作者: Mango


本章介绍“ 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)

让我们举一个为userdb数据库中的emp表生成Java代码的示例。

以下命令用于执行给定的示例。

$ 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.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 /。