Está en la página 1de 10

Sqoop es una herramienta para transferir datos entre bases de datos relacionales y Hadoop

(HDFS). La herramienta utiliza MapReduce para realizas dichas operaciones, por lo que
consigue aprovechar el entorno distribuido de nuestro cluster Hadoop obteniendo un
rendimiento óptimo.

Puede ver la documentación en la web oficial de apache: Guía de usuario

A continuación, te indicamos un resumen de las sentencias más utilizadas de esta herramienta


(instrucciones de línea de comandos):

Listar herramientas de Sqoop:

sqoop help

Sintaxis de un comando básico:

sqoop <tool‐name> <options>

Listar de todas las tablas de un DB:

sqoop list‐tables \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd>


Consulta sobre una base de datos:

sqoop eval \

‐‐query "<query>" \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd>

Importar todas las tablas de un DB:

sqoop import‐all‐tables \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd>

Importar todas las tablas en un Warehouse:

sqoop import‐all‐tables \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐‐warehouse‐dir <hdfsdir>
Importar una única tabla:

sqoop import ‐‐table <table> \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd>

Importar columnas de una tabla:

sqoop import ‐‐table <table> \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐‐columns "<col1>,<col2>,..,<colN>"

Importar los datos de una tabla que cumplan condiciones:

sqoop import ‐‐table <table> \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐‐where "<conditions>"
Importar tabla a un directorio distinto:

sqoop import ‐‐table <table> \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐‐target‐dir <dir>

Importar tabla con distinto separador (,):

sqoop import ‐‐table <table> \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐‐fields‐terminated‐by "<symb>"

Importar tabla en formato comprimido (formato Gzip):

sqoop import ‐‐table <table> \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐z
Importar tabla comprimida (formato Snappy):

sqoop import ‐‐table <table> \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐‐compression‐codec org.apache.hadoop.io.compress.SnappyCodec

Importar tabla en formato Parquetfile:

sqoop import ‐‐table <table> \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐‐as‐parquetfile

Importar tabla en formato Sequencefile:

sqoop import ‐‐table <table> \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐‐as‐sequencefile
Importar tabla en formato Avro:

sqoop import ‐‐table <table> \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐‐as‐avrodatafile

Importar tabla incrementalmente

sqoop import ‐‐table <table> \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐‐incremental append \

‐‐check‐column <column‐name> \

‐‐last‐value <value>
Importar tabla manejando valores nulos:

sqoop import ‐‐table <table> \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐‐null‐string "\\N"

‐‐null‐non‐string "\\N"

Importar resultado de una query:

sqoop import \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐‐target‐dir <dir> \

‐‐split‐by <primarykey> \

‐‐query '<query>'
Sugerir paralelizar importación:

sqoop import ‐‐table <table> \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐m <number>

Exportar tabla a DB (la tabla debe crearse anteriormente):

sqoop export ‐‐table <table> \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐‐export‐dir <dir> \

‐‐update‐mode <allowinsert|updateonly>
Exportar tabla a DB manejando valores nulos:

sqoop export ‐‐table <table> \

‐‐connect jdbc:mysql://<host>/<db> \

‐‐username <usr> ‐‐password <pwd> \

‐‐export‐dir <dir> \

‐‐update‐mode <allowinsert|updateonly> \

‐‐null‐string "\\N"

‐‐null‐non‐string "\\N"

Crear un Job de Sqoop:

sqoop job ‐‐create ‐‐ import ‐‐table <table> \ ‐‐connect jdbc:mysql://<host>/<db> \ ‐‐

username <usr> ‐‐password <pwd> \ ‐‐where "<conditions>"

Listar jobs de Sqoop:

sqoop job ‐‐list

Ejecutar un job de Sqoop

sqoop job ‐‐exec <nombre>

También podría gustarte