Sqoop - Importar todas as tabelas

Este capítulo descreve como importar todas as tabelas do servidor de banco de dados RDBMS para o HDFS. Cada dado da tabela é armazenado em um diretório separado e o nome do diretório é igual ao nome da tabela.

Sintaxe

A seguinte sintaxe é usada para importar todas as tabelas.

$ sqoop import-all-tables (generic-args) (import-args) 
$ sqoop-import-all-tables (generic-args) (import-args)

Exemplo

Vamos dar um exemplo de importação de todas as tabelas do userdbbase de dados. A lista de tabelas que o banco de dadosuserdb contém é o seguinte.

+--------------------+
 |      Tables        |
 +--------------------+
 |      emp           |
 |      emp_add       |
 |      emp_contact   |
 +--------------------+

O seguinte comando é usado para importar todas as tabelas do userdb base de dados.

$ sqoop import-all-tables \
--connect jdbc:mysql://localhost/userdb \
--username root

Note - Se você estiver usando import-all-tables, é obrigatório que todas as tabelas desse banco de dados tenham um campo de chave primária.

O comando a seguir é usado para verificar todos os dados da tabela no banco de dados userdb no HDFS.

$ $HADOOP_HOME/bin/hadoop fs -ls

Ele irá mostrar a você a lista de nomes de tabelas no banco de dados userdb como diretórios.

Resultado

drwxr-xr-x - hadoop supergroup 0 2014-12-22 22:50 _sqoop
drwxr-xr-x - hadoop supergroup 0 2014-12-23 01:46 emp
drwxr-xr-x - hadoop supergroup 0 2014-12-23 01:50 emp_add
drwxr-xr-x - hadoop supergroup 0 2014-12-23 01:52 emp_contact