Home / BIG DATA / Hadoop: copiando dados de um banco relacional MySQL para o HDFS utilizando Sqoop e consultando dados utilizando Hive

Hadoop: copiando dados de um banco relacional MySQL para o HDFS utilizando Sqoop e consultando dados utilizando Hive

Neste post utilizaremos um banco de dados Mysql aonde copiaremos dados de tabelas e salvaremos no HDFS do Hadoop. Em seguida listaremos estas informações utilizando o Hive.

Utilizarei a VM da Cloudera aonde contém tudo oque precisaremos para este exemplo. 

A base de dados será a Employees Sample Database, encontrada na documentção oficial do MySQL:

https://dev.mysql.com/doc/employee/en/

Caso precise de ajuda na instalação da VM, acesso nosso post:

Utilizando a VM Cloudera

Com a VM já ligada, acesse o terminal e faça o download da base dados:

wget https://github.com/datacharmer/test_db/archive/master.zip

Para descompactar o arquivo:

unzip master.zip

Acesse agora a pasta test_db_-master:

cd test_db-master/

Vamos agora carregar nossa base de dados baixada em nosso MySQL:

mysql -uroot -pcloudera < employees.sql

Para verificar se tudo deu certo, digite o comando:

mysql -uroot -pcloudera

Em seguida vamos listar todas as databases de nosso servidor MySQL:

show databases;

Se tudo deu certo, veremos a database employees listada. Vamos selecioná-la:

use employees;

Vamos listar todas as tabelas desta base de dados:

show tables;

Vamos verificar os primeiros 5 registros da tabela employees:

select * from employees limit 5;

Tudo certo! Vamos agora carregar  algumas tabelas da base de dados em nosso HDFS e aproveitar e já criar nossas tabelas no Hive.

sqoop import –connect jdbc:mysql://localhost:3306/employees –username root –password cloudera –table employees –hive-import

Vamos importar também a tabela salaries:

sqoop import –connect jdbc:mysql://localhost:3306/employees –username root –password cloudera –table salaries –hive-import

Perceba que o comando inicia o map reduce no HDFS:

Uma observação é que o Hive armazena seus dados também no HDFS do Hadoop

Hora de vermos tudo funcionando no Hive!

Vamos acessar nosso HUE:

http://quickstart.cloudera:8888/

Em Query, vamos acessar nosso editor Hive

Como não foi passado nenhum parâmetro de qual database utilizar, o Hive cria em seu database default por padrão. 

A partir de agorá é possível fazer suas consultas utilizando o HQL, muito similar ao SQL:

Com o HQL é possível realizar diversos tipos de consultas, como joins, count, e etc

Check Also

MAD vs RMSE vs MAE vs MSLE vs R²: When to use which?

Well actually these can give you different insights into your models errors. If yy is your target, pp your …

Leave a Reply

Your email address will not be published. Required fields are marked *