java impala shell 命令_Impala 基本语法(shell命令)

1. Impala Shell安装

目前Impala Shell Beta

Release采用的是rpm包进行安装,命令如下:

rpm -ivh

impala-shell-0.3-1.p0.366.el6.x86_64.rpm

2. Impala Shell使用

Impala使用Hive SQL进行数据查询,因此Impala

Shell在使用方面也效仿了Hive,在许多命令的用法上和Hive有相近之处,但使用细节又有所区别。

Impala Shell和Hive的相同之处:

 使用Hive SQL进行数据查询;

 在许多命令使用上是一样的。

Impala Shell和Hive的不同之处:

 Hive对语句解析的结束标志是”;”,而Impala

Shell对语句解析的结束标志是回车;

 Hive对命令的错误信息相对Impala

Shell比较详细;

 Impala使用的SQL只是Hive SQL的子集。

2.1启动Impala Shell

启动Impala Shell命令如下:

>impala -shell

使用connect命令连接Impala实例,默认端口为21000,命令如下:

>connect

impalad-host:21000

首次使用Impala-Shell需要刷新元数据,命令如下:

>refresh

官方文档给出需要执行刷新元数据的情况:

 元数据发生改变时;

其他实体(比如Hive、其他Impala实例)改变元数据或者数据;

 客户端(Impala Shell和ODBC连接)修改数据时。

官方文档给出不需要执行刷新元数据的情况:

 元数据被一个单一Impala实体改变时;

 元数据的改变来自后台数据库时。

元数据的改变有下面两种情况:

Hive——Alert、Create、Drop和Insert操作

 Impala——Insert操作

2.2 Impala Shell命令详解

在Impala

Shell中,连续两次点击“Tab”,就会出现可以使用的命令信息:

connect describe explain help insert quit

refresh select set shell show use version

2.2.1 Connect命令

Connect命令主要用于建立一个Impalad客户端连接,默认连接端口为21000,使用方式如下:

>connect

impalad-host:impalad-post

如果成功连接上Impalad主机,Shell命令提示前会显示impalad-host:impalad-post。

2.2.2 Describe命令

Describe命令主要用于查看数据表的定义,使用方式如下:

> describe table_name

命令执行成功后,显示数据库中的表定义如下次:

column_name1 define_type

column_name2 define_type

….

如果查看的数据表不存在时,返回如下错误信息:

ERROR: com.cloudera.impala.common.AnalysisException: Unknown table:

database_name.given_table_name

…..

2.2.3 Explain命令

Explain命令主要用于执行语句的执行计划,使用方式如下:

>explain excute_clause

命令执行成功会显示执行语句的执行计划。

2.2.4 Help命令

Help命令主要用于查看各命令帮助信息,使用方式如下:

>help command

命令执行成功会显示命令的帮助信息。

注意:Impala

Shell中是不区分大小写的,但help命令后面的命令参数必须小写,否则系统无法识别。

2.2.5 Insert命令

Insert命令主要用于利用select

clause结果或者partition中的数据插入整合后的新数据,使用方式如下:

>insert into table table_name

select_clause

> insert overwrite table table_name

select_clause

> insert overwrite table table_name

partition

命令执行成功不会显示额外信息。

2.2.6 Quit命令

Quit命令主要用于退出Shell,使用方式如下:

>quit

命令执行成功退出Shell,不会显示额外信息。

2.2.7 Refresh命令

Refresh命令主要用于刷新元数据信息,使用方式如下:

>refresh

命令执行成功会显示元数据刷新成功信息。

2.2.8 Select命令

Select命令主要用于查询数据信息,使用方式如下:

>select clause

命令执行成功会显示查询信息的结果。

官方文档描述Select支持的操作:

支持SQL类型:boolean, tinyint, smallint, int, bigint, float, double,

timestamp, string;

支持ALL, DISTINCT关键字查询;

支持子查询(在From子句中);

支持WHERE, GROUP BY, HAVING子句;

支持ORDER BY (查询语句必须含有limit关键字);

支持Joins 查询(LEFT, RIGHT, FULL, OUTER, INNER), 多表查询,

子查询;

支持UNION ALL、LIMIT关键字查询;

支持外部表查询;

支持执行计划;

支持关系比较符,比如=,>,=,>=;

支持算术符号,比如+,-;

支持逻辑符号,比如AND,OR,NOT,注意:impala不支持&&,||,!;

支持Hive内建的函数。

2.2.9 Set命令

Set命令主要用于设置属性常量值,使用方式如下:

>set

attribute_name=attribute_value

命令执行成功不显示任何信息。可以进行设定的属性信息如下表所示:

属性名 允许的属性值 作用

DISABLE_CODEGEN true或1,其他值都为false

禁止编译

MAX_ERRORS 整数 最大的错误数

ABORT_ON_ERROR true或1,其他值都为false

当错误发生时,是否中断

MAX_SCAN_RANGE_LENGTH 整数

最大的Scan范围长度

PARTITION_AGG true或1,其他值都为false

允许分区聚合

MAX_IO_BUFFERS 整数 最大IO缓冲区大小

ALLOW_UNSUPPORTED_FORMATS true或1,其他值都为false

是否允许不支持格式

NUM_SCANNER_THREADS 整数

Scanner执行的线程数

BATCH_SIZE 整数 批次大小

NUM_NODES 整数 节点数目

2.2.10 Shell命令

Shell命令主要用于执行Shell命令,使用方式如下:

>shell shell_commands

命令执行成功会显示shell命令执行结果信息,也可以使用”!”代替shell。使用方式如下:

>! shell_commands

注意:shell命令不能是alias命令,否则会报错。

2.2.11 Show命令

Show命令主要用于显示所有的数据库空间名和制定数据库空间下的所有表名,使用方式如下:

>show databases

>show tables

>show schemas

show databases命令执行成功会显示所有的数据库空间名。show

tables命令执行成功会显示当前表空间下的所有表名。show

schemas命令执行成功会显示所有的数据库空间名。

2.2.12 Use命令

Use命令主要用于切换数据库空间,使用方式如下:

>use database_name

命令执行成功不显示任何信息。

注意:如果数据库空间输入错误,impala-shell不会给出任何提示信息。这一点不如Hive人性,Hive会给出错误信息。

2.2.13 Version命令

Version命令主要用于查看Impala版本信息,使用方式如下:

>version

命令执行成功会显示Impala版本信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值