Impala - Shell

Nos capítulos anteriores, vimos a instalação do Impala usando cloudera e sua arquitetura.

  • Shell do Impala (prompt de comando)
  • Hue (interface do usuário)
  • ODBC e JDBC (bibliotecas de terceiros)

Este capítulo explica como iniciar o Impala Shell e as várias opções do shell.

Referência de comandos do Impala Shell

Os comandos do shell Impala são classificados como general commands, query specific options, e table and database specific options, conforme explicado abaixo.

Comandos Gerais

  • help
  • version
  • history
  • shell (ou)!
  • connect
  • sair | Sair

Opções específicas de consulta

  • Set/unset
  • Profile
  • Explain

Opções específicas de tabela e banco de dados

  • Alter
  • describe
  • drop
  • insert
  • select
  • show
  • use

Iniciando Impala Shell

Abra o terminal da cloudera, faça login como superusuário e digite cloudera como senha conforme mostrado abaixo.

[[email protected] ~]$ su
Password: cloudera
[[email protected] cloudera]#

Inicie o shell do Impala digitando o seguinte comando -

[[email protected] cloudera] # impala-shell 
Starting Impala Shell without Kerberos authentication 
Connected to quickstart.cloudera:21000 
Server version: impalad version 2.3.0-cdh5.5.0 RELEASE 
(build 0c891d79aa38f297d244855a32f1e17280e2129b)
********************************************************************* 

Welcome to the Impala shell. Copyright (c) 2015 Cloudera, Inc. All rights reserved.
(Impala Shell v2.3.0-cdh5.5.0 (0c891d7) built on Mon Nov 9 12:18:12 PST 2015)

Want to know what version of Impala you're connected to? Run the VERSION command to 
find out! 
********************************************************************* 
[quickstart.cloudera:21000] >

Impala - Comandos de uso geral

Os comandos de propósito geral do Impala são explicados abaixo -

comando de ajuda

o help comando do shell do Impala fornece uma lista dos comandos disponíveis no Impala -

[quickstart.cloudera:21000] > help;
 
Documented commands (type help <topic>):
========================================================
compute  describe  insert  set     unset  with  version
connect  explain   quit    show    values use
exit     history   profile select  shell  tip 
  
Undocumented commands:
========================================= 
alter create desc drop help load summary

comando de versão

o version comando fornece a versão atual do Impala, conforme mostrado abaixo.

[quickstart.cloudera:21000] > version;
Shell version: Impala Shell v2.3.0-cdh5.5.0 (0c891d7) built on Mon Nov 9 
12:18:12 PST 2015

Server version: impalad version 2.3.0-cdh5.5.0 RELEASE (build 
0c891d79aa38f297d244855a32f1e17280e2129b)

comando de história

o historyO comando do Impala exibe os últimos 10 comandos executados no shell. A seguir está o exemplo dohistorycomando. Aqui, executamos 5 comandos, a saber, versão, ajuda, mostrar, usar e histórico.

[quickstart.cloudera:21000] > history;
[1]:version;
[2]:help;
[3]:show databases;
[4]:use my_db;
[5]:history;

comando sair / sair

Você pode sair do shell do Impala usando o quit ou exit comando, como mostrado abaixo.

[quickstart.cloudera:21000] > exit; 
Goodbye cloudera

comando de conexão

o connectcomando é usado para se conectar a uma determinada instância do Impala. Caso você não especifique nenhuma instância, ele se conecta à porta padrão21000 como mostrado abaixo.

[quickstart.cloudera:21000] > connect; 
Connected to quickstart.cloudera:21000 
Server version: impalad version 2.3.0-cdh5.5.0 RELEASE (build 
0c891d79aa38f297d244855a32f1e17280e2129b)

Opções específicas de consulta do Impala

Os comandos específicos de consulta do Impala aceitam uma consulta. Eles são explicados abaixo -

Explicar

o explain comando retorna o plano de execução para a consulta fornecida.

[quickstart.cloudera:21000] > explain select * from sample;
Query: explain select * from sample
+------------------------------------------------------------------------------------+ 
| Explain String                                                                     | 
+------------------------------------------------------------------------------------+ 
| Estimated Per-Host Requirements: Memory = 48.00MB VCores = 1                       | 
| WARNING: The following tables are missing relevant table and/or column statistics. |
| my_db.customers                                                                    | 
| 01:EXCHANGE [UNPARTITIONED]                                                        | 
| 00:SCAN HDFS [my_db.customers]                                                     | 
| partitions = 1/1 files = 6 size = 148B                                             | 
+------------------------------------------------------------------------------------+ 
Fetched 7 row(s) in 0.17s

Perfil

o profilecomando exibe as informações de baixo nível sobre a consulta recente. Este comando é usado para diagnóstico e ajuste de desempenho de uma consulta. A seguir está o exemplo de umprofilecomando. Neste cenário, oprofile comando retorna as informações de baixo nível de explain inquerir.

[quickstart.cloudera:21000] > profile;

Query Runtime Profile: 
Query (id=164b1294a1049189:a67598a6699e3ab6): 

   Summary: 
      Session ID: e74927207cd752b5:65ca61e630ad3ad
      Session Type: BEESWAX 
      Start Time: 2016-04-17 23:49:26.08148000 End Time: 2016-04-17 23:49:26.2404000 
      Query Type: EXPLAIN 
      Query State: FINISHED 
      Query Status: OK 
      Impala Version: impalad version 2.3.0-cdh5.5.0 RELEASE (build 0c891d77280e2129b) 
      User: cloudera 
      Connected User: cloudera 
      Delegated User: 
      Network Address:10.0.2.15:43870 
      Default Db: my_db 
      Sql Statement: explain select * from sample 
      Coordinator: quickstart.cloudera:22000 
      : 0ns 
      Query Timeline: 167.304ms 
         - Start execution: 41.292us (41.292us) - Planning finished: 56.42ms (56.386ms) 
         - Rows available: 58.247ms (1.819ms) 
         - First row fetched: 160.72ms (101.824ms) 
         - Unregister query: 166.325ms (6.253ms)
         
   ImpalaServer: 
      - ClientFetchWaitTimer: 107.969ms 
      - RowMaterializationTimer: 0ns

Opções específicas de tabela e banco de dados

A tabela a seguir lista as opções específicas de tabela e dados no Impala.

Sr. Não Comando e Explicação
1

Alter

o alter O comando é usado para alterar a estrutura e o nome de uma tabela no Impala.

2

Describe

o describeO comando do Impala fornece os metadados de uma tabela. Ele contém informações como colunas e seus tipos de dados. odescribe comando tem desc como um atalho.

3

Drop

o drop comando é usado para remover uma construção do Impala, onde uma construção pode ser uma tabela, uma exibição ou uma função de banco de dados.

4

insert

o insert comando do Impala é usado para,

  • Anexe dados (colunas) em uma tabela.
  • Substitua os dados de uma tabela existente.
  • Substitua os dados de uma tabela existente.
5

select

o selectdeclaração é usada para executar uma operação desejada em um conjunto de dados específico. Ele especifica o conjunto de dados no qual alguma ação deve ser concluída. Você pode imprimir ou armazenar (em um arquivo) o resultado da instrução select.

6

show

o show declaração do Impala é usado para exibir o metastore de várias construções, como tabelas, bancos de dados e tabelas.

7

use

o use declaração do Impala é usada para alterar o contexto atual para o banco de dados desejado.