Impala - Shell

在前面的章节中,我们已经看到使用cloudera
安装Impala及其架构.

  • Impala shell (命令提示符)

  • Hue(用户界面)

  • ODBC和JDBC(第三方库)

本章介绍如何启动Impala Shell以及shell的各种选项.

Impala Shell命令参考

Impala shell的命令分为常规命令,查询特定选项表和数据库特定选项,如下所述.

一般命令

  • help

  • version

  • history

  • shell (or) !

  • connect

  • exit | quit

查询特定选项

  • Set/unset

  • Profile

  • Explain

表和数据库特定选项

  • Alter

  • describe

  • drop

  • insert

  • select

  • show

  • use

启动Impala Shell

打开cloudera终端,以超级用户身份登录,然后输入 cloudera 作为密码,如图所示下面.

[cloudera@quickstart ~]$ su
Password: cloudera
[root@quickstart cloudera]#


输入以下命令启动Impala shell :

[root@quickstart 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  - 通用命令

Impala的通用命令解释如下 :

帮助命令

Impala shell的 help 命令为您提供了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


version命令

version 命令为您提供当前版本的Impala,如下所示.

[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)


历史命令

Impala的 history 命令显示shell中执行的最后10个命令.以下是 history 命令的示例.这里我们执行了5个命令,即版本,帮助,显示,使用和历史.

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


退出/退出命令

您可以使用退出或退出命令,如下所示.

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


connect command

connect command用于连接给定的Impala实例.如果您未指定任何实例,则它将连接到默认端口 21000 ,如下所示.

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


Impala查询特定选项

Impala的查询特定命令接受查询.它们在下面和下面解释;

解释

explain 命令返回给定查询的执行计划.

[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


配置文件

配置文件命令显示有关的低级信息最近的查询.此命令用于查询的诊断和性能调整.以下是 profile 命令的示例.在这种情况下, profile 命令返回 explain 查询的低级信息.

[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


表和数据库特定选项

下表列出了Impala中的表和数据特定选项.

Sr.No指挥&解释
1

alter 

alter 命令用于更改Impala中表格的结构和名称.

2

Describe

Impala的 describe 命令提供表的元数据.它包含列和它们的数据类型之类的信息. describe 命令将 desc 作为捷径.

3

Drop

drop 命令用于从Impala中删除构造,其中构造可以是表,视图或数据库函数.

4

insert

Impala的插入命令用于,

  • 将数据(列)附加到表中.

  • 覆盖现有表格的数据.

  • 覆盖现有表格的数据.

5

select

select语句用于对特定数据集执行所需操作.它指定要在其上完成某些操作的数据集.您可以打印或存储(在文件中)select语句的结果.

6

show

show 声明Impala用于显示各种结构(例如表,数据库和表)的Metastore.

7

use

useImpala语句用于将当前上下文更改为所需数据库.