Apache Drill em 10 minutos

Apache Drill

Objetivo

Use o Apache Drill para consultar dados de amostras em 10 minutos. Para simplificar, você executa o Drill no modo incorporado ao invés do modo distribuído, sem ter que executar quaisquer tarefas de configuração.

Visão geral da instalação

Você pode instalar o Drill para executar no modo incorporado em uma máquina rodando Linux, Mac OS X ou Windows. Para obter informações sobre a instalação do Drill para execução no modo distribuído, consulte a Instalação do Drill em Modo Distribuído.

Este procedimento de instalação inclui como baixar o arquivo Apache Drill e extrair o conteúdo para um diretório em sua máquina. O arquivo Apache Drill contém arquivos JSON e Parquet que você pode consultar imediatamente.

Depois de instalar o Drill, você deve iniciar o shell Drill. O shell Drill é um utilitário baseado em console puro-Java para conexão com bancos de dados relacionais e execução de comandos SQL. O Drill segue o SQL: 2011 padrão com extensões para formatos de dados aninhados.

Requisitos de Instalação para o Modo Incorporado

Você precisa atender aos seguintes pré-requisitos para executar o Drill:

  • Linux, Mac OS X e Windows: Oracle Java SE Development (JDK) Kit de instalação 7
  • Apenas Windows:
  • A variável de ambiente JAVA_HOME configurada para apontar para a instalação do JDK
  • A variável de ambiente PATH que inclui um ponteiro para o diretório bin da instalação do JDK
  • Um utilitário de terceiros para descompactar um arquivo.tar.gz
Pré-requisito de Instalação do Java - Verificação

Execute o seguinte comando em um terminal (Linux e Mac OS X) ou Prompt de Comando (Windows) para verificar que o Java 7 é a versão em vigor:

java -version

O retorno deve ser algo semelhante a isso:
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_7965-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
Instalando o Drill no Linux ou Mac OS X

Conclua as seguintes etapas para instalar o Drill:

  1. Em uma janela de terminal, altere para o diretório onde você deseja instalar o Drill.
  2. Para baixar a versão mais recente do Apache Drill, faça o download do site da Apache Drill ou execute um dos seguintes comandos, dependendo do que você tenha instalado em seu sistema:
  • wget http://getdrill.org/drill/download/apache-drill-1.1.0.tar.gz
  • curl -o apache-drill-1.1.0.tar.gz http://getdrill.org/drill/download/apache-drill-1.1.0.tar.gz
  1. Copie o arquivo baixado para o diretório onde você deseja instalar o Drill.
  2. Extraia o conteúdo do arquivo .tar.gz. Use sudo, se necessário:
tar -xvzf <.tar.gz file name>
O processo de extração cria um diretório de instalação que contém o software Drill.

Neste ponto, você pode começar a usar o Drill.


Iniciar o Drill no Linux e Mac OS X


Inicie o Drill no modo incorporado usando o comando embarcado-Drill:

  1. Navegue até o diretório de instalação do Drill. Por exemplo:

cd apache-drill-

  1. Emita o seguinte comando para iniciar o Drill no modo incorporado:

bin/drill-embedded

A mensagem do dia, seguida pela 0: jdbc:drill:zk=local> prompt é exibida.

Neste ponto, você pode enviar consultas para o Drill.

Instalando Drill no Windows

Você pode instalar o Drill no Windows 7 ou 8. Em primeiro lugar, defina a variável de ambiente JAVA_HOME, e então instale o Drill. Conclua as seguintes etapas para instalá-lo:

  1. Clique no link abaixo para baixar a última versão do Apache Drill: http://getdrill.org/drill/download/apache-drill-1.1.0.tar.gz
  2. Mova o arquivo apache-drill-.tar.gz para um diretório onde você deseja instalar o Drill.
  3. Descompacte o arquivo TAR.GZ usando uma ferramenta de terceiros. Se a ferramenta que você usa não descompactar o arquivo TAR, bem como o arquivo TAR.GZ, descompacte o apache-drill-.tar para extrair o software Drill. O processo de extração cria o apache- Drill diretório de instalação que contém o software Drill.

Neste ponto, você pode começar a usar o Drill.

Iniciando o Drill no Windows

Comece a usar o Drill executando o arquivo sqlline.bat e digitando uma sequência de conexão, conforme mostrado no procedimento a seguir. O zk=local na cadeia de ligação significa que o nó local é o nó ZooKeeper:

Inicie o shell Drill usando o comando sqlline. Complete as seguintes etapas para iniciar o shell Drill:

  1. Prompt de Comando aberto.
  2. Abra a pasta apache- Drill.
  3. Vá para o diretório bin. Por exemplo:
cd bin
  1. Digite o seguinte comando na linha de comando: sqlline.bat -u "jdbc:drill:zk=local"

O zk=local é o nó local ZooKeeper. Neste ponto, você pode executar consultas.

Parando o Drill

Emita o seguinte comando quando você quiser sair do shell Drill:

!quit

Exemplo de consulta de dados

Na raiz da instalação do Drill, um diretório sample-data inclui arquivos JSON e Parquet que você pode consultar. A configuração padrão dfs plug-in de armazenamento representa o sistema de arquivos local em sua máquina quando você instala o Drill no modo incorporado.

Use SQL para consultar o JSON e arquivos Parquet no diretório de amostra de dados sobre o seu sistema de arquivos local.

Consultando um arquivo JSON

Um exemplo de arquivo JSON, employee.json, contém dados fictícios de funcionários. Para visualizar os dados no arquivo employee.json, execute a seguinte consulta SQL para o Drill, usando a configuração cp (classpath) storage plugin  para apontar para o arquivo.

0: jdbc:drill:zk=local> SELECT * FROM cp.`employee.json` LIMIT 3;

Consultando um arquivo Parquet

Consulte os arquivos region.parquet e nation.parquet  no diretório sample-data  sobre o seu sistema de arquivos local.

Arquivo Região

Se você o guia de instalação de 10 minutos para instalar o Drill no modo incorporado, o caminho para o arquivo parquet varia entre os sistemas operacionais.

Para visualizar os dados no arquivo region.parquet, utilize o caminho real para a instalação do Drill para construir esta consulta:

SELECT * FROM dfs.`/apache-drill-/sample-data/region.parquet`;

A consulta retorna os seguintes resultados:
+--------------+--------------+-----------------------+
| R_REGIONKEY | R_NAME | R_COMMENT |
+--------------+--------------+-----------------------+
| 0 | AFRICA | lar deposits. blithe |
| 1 | AMERICA | hs use ironic, even |
| 2 | ASIA | ges. thinly even pin |
| 3 | EUROPE | ly final courts cajo |
| 4 | MIDDLE EAST | uickly special accou |
+--------------+--------------+-----------------------+
5 rows selected (0.409 seconds)

Arquivo Nation

O caminho para o arquivo parquet varia entre os sistemas operacionais. Use o caminho real para a instalação do Drill para construir esta consulta:

SELECT * FROM dfs.`/apache-drill-/sample-data/nation.parquet`;

A consulta retorna os seguintes resultados:
SELECT * FROM dfs.`Users/drilluser/apache-drill-1.1.0/sample-data/nation.parquet`;
+--------------+-----------------+--------------+-----------------------+
| N_NATIONKEY | N_NAME | N_REGIONKEY | N_COMMENT |
+--------------+-----------------+--------------+-----------------------+
| 0 | ALGERIA | 0 | haggle. carefully f |
| 1 | ARGENTINA | 1 | al foxes promise sly |
| 2 | BRAZIL | 1 | y alongside of the p |
| 3 | CANADA | 1 | eas hang ironic, sil |
| 4 | EGYPT | 4 | y above the carefull |
| 5 | ETHIOPIA | 0 | ven packages wake qu |
| 6 | FRANCE | 3 | refully final reques |
| 7 | GERMANY | 3 | l platelets. regular |
| 8 | INDIA | 2 | ss excuses cajole sl |
| 9 | INDONESIA | 2 | slyly express asymp |
| 10 | IRAN | 4 | efully alongside of |
| 11 | IRAQ | 4 | nic deposits boost a |
| 12 | JAPAN | 2 | ously. final, expres |
| 13 | JORDAN | 4 | ic deposits are blit |
| 14 | KENYA | 0 | pending excuses hag |
| 15 | MOROCCO | 0 | rns. blithely bold c |
| 16 | MOZAMBIQUE | 0 | s. ironic, unusual a |
| 17 | PERU | 1 | platelets. blithely |
| 18 | CHINA | 2 | c dependencies. furi |
| 19 | ROMANIA | 3 | ular asymptotes are |
| 20 | SAUDI ARABIA | 4 | ts. silent requests |
| 21 | VIETNAM | 2 | hely enticingly expr |
| 22 | RUSSIA | 3 | requests against th |
| 23 | UNITED KINGDOM | 3 | eans boost carefully |
| 24 | UNITED STATES | 1 | y final packages. sl |
+--------------+-----------------+--------------+-----------------------+
25 rows selected (0.101 seconds)

Resumo

O Apache Drill suporta dados aninhados, a execução sem esquema e metadados descentralizados. Neste ponto, você sabe como criar uma consulta simples em um arquivo JSON ou Parquet.


Para saber mais


  1. Baixe o ebook sobre soluções para Big Data que escrevi;
  2. Se inscreva na lista que criei para discutir o tema no Google Groups;
  3. Confira minha palestra virtual apresentando os conceitos básicos da tecnologia, e vamos trocar idéias!

Christian Guerreiro

Professor por vocação, blogueiro e servidor público por opção, amante da tecnologia e viciado em informação.


Ensino a distância em Tecnologia da Informação: Virtualização com VMware, Big Data com Hadoop, Certificação ITIL 2011 Foundations e muito mais.


Suporte o Tecnologia que Interessa!

Você acha que as informações compartilhadas aqui são úteis?
Então me ajude a produzir ainda mais e melhores conteúdos!


É muito fácil. Basta divulgar nossos treinamentos pra alguém que conheça!


E se for de Salvador, podemos estruturar um curso presencial para sua empresa!

Eu vou ficar muito grato (e quem fizer os curso também :)!