设为首页 收藏本站
查看: 1321|回复: 0

Impala Shell

[复制链接]

尚未签到

发表于 2017-5-9 09:24:49 | 显示全部楼层 |阅读模式
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_CODEGENtrue或1,其他值都为false禁止编译
MAX_ERRORS整数最大的错误数
ABORT_ON_ERRORtrue或1,其他值都为false当错误发生时,是否中断
MAX_SCAN_RANGE_LENGTH整数最大的Scan范围长度
PARTITION_AGGtrue或1,其他值都为false允许分区聚合
MAX_IO_BUFFERS整数最大IO缓冲区大小
ALLOW_UNSUPPORTED_FORMATStrue或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版本信息。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-374822-1-1.html 上篇帖子: Shell Layout 下篇帖子: shell(转)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表