Sqoop - Exportar
Este capítulo descreve como exportar dados de volta do HDFS para o banco de dados RDBMS. A tabela de destino deve existir no banco de dados de destino. Os arquivos fornecidos como entrada para o Sqoop contêm registros, que são chamados de linhas na tabela. Eles são lidos e analisados em um conjunto de registros e delimitados com um delimitador especificado pelo usuário.
A operação padrão é inserir todos os registros dos arquivos de entrada na tabela do banco de dados usando a instrução INSERT. No modo de atualização, o Sqoop gera a instrução UPDATE que substitui o registro existente no banco de dados.
Sintaxe
A seguir está a sintaxe do comando de exportação.
$ sqoop export (generic-args) (export-args)
$ sqoop-export (generic-args) (export-args)
Exemplo
Tomemos um exemplo dos dados do funcionário em arquivo, no HDFS. Os dados do funcionário estão disponíveis ememp_dataarquivo no diretório 'emp /' no HDFS. oemp_data é o seguinte.
1201, gopal, manager, 50000, TP
1202, manisha, preader, 50000, TP
1203, kalil, php dev, 30000, AC
1204, prasanth, php dev, 30000, AC
1205, kranthi, admin, 20000, TP
1206, satish p, grp des, 20000, GR
É obrigatório que a tabela a ser exportada seja criada manualmente e esteja presente no banco de dados de onde deve ser exportada.
A consulta a seguir é usada para criar a tabela 'funcionário' na linha de comando do mysql.
$ mysql
mysql> USE db;
mysql> CREATE TABLE employee (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(20),
deg VARCHAR(20),
salary INT,
dept VARCHAR(10));
O seguinte comando é usado para exportar os dados da tabela (que está em emp_data arquivo em HDFS) para a tabela de funcionários no banco de dados db do servidor de banco de dados Mysql.
$ sqoop export \
--connect jdbc:mysql://localhost/db \
--username root \
--table employee \
--export-dir /emp/emp_data
O seguinte comando é usado para verificar a tabela na linha de comando do mysql.
mysql>select * from employee;
Se os dados fornecidos forem armazenados com êxito, você poderá encontrar a seguinte tabela de dados de funcionários fornecidos.
+------+--------------+-------------+-------------------+--------+
| Id | Name | Designation | Salary | Dept |
+------+--------------+-------------+-------------------+--------+
| 1201 | gopal | manager | 50000 | TP |
| 1202 | manisha | preader | 50000 | TP |
| 1203 | kalil | php dev | 30000 | AC |
| 1204 | prasanth | php dev | 30000 | AC |
| 1205 | kranthi | admin | 20000 | TP |
| 1206 | satish p | grp des | 20000 | GR |
+------+--------------+-------------+-------------------+--------+