Sqoop - Codegen
Este capítulo describe la importancia de la herramienta 'codegen'. Desde el punto de vista de la aplicación orientada a objetos, cada tabla de base de datos tiene una clase DAO que contiene los métodos 'getter' y 'setter' para inicializar objetos. Esta herramienta (-codegen) genera la clase DAO automáticamente.
Genera la clase DAO en Java, basada en la estructura Table Schema. La definición de Java se crea una instancia como parte del proceso de importación. El uso principal de esta herramienta es verificar si Java perdió el código Java. Si es así, creará una nueva versión de Java con el delimitador predeterminado entre campos.
Sintaxis
La siguiente es la sintaxis del comando codegen de Sqoop.
$ sqoop codegen (generic-args) (codegen-args)
$ sqoop-codegen (generic-args) (codegen-args)
Ejemplo
Tomemos un ejemplo que genera código Java para el emp mesa en el userdb base de datos.
El siguiente comando se usa para ejecutar el ejemplo dado.
$ sqoop codegen \
--connect jdbc:mysql://localhost/userdb \
--username root \
--table emp
Si el comando se ejecuta correctamente, producirá la siguiente salida en la terminal.
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
Verificación
Echemos un vistazo a la salida. La ruta, que está en negrita, es la ubicación donde se encuentra el código Java delemptabla genera y almacena. Verifiquemos los archivos en esa ubicación usando los siguientes comandos.
$ cd /tmp/sqoop-hadoop/compile/9a300a1f94899df4a9b10f9935ed9f91/
$ ls
emp.class
emp.jar
emp.java
Si desea verificar en profundidad, compare el emp mesa en el userdb base de datos y emp.java en el siguiente directorio
/ tmp / sqoop-hadoop / compile / 9a300a1f94899df4a9b10f9935ed9f91 /.