Impala-shell命令参数的实现
不多说,直接上干货!
1. impala-shell外部命令
所谓的外部命令指的是不需要进入到impala-shell交互命令行当中即可执行的命令参数
。impala-shell后面执行的时候可以带很多参数。你可以在启动 impala-shell 时设置,用于修改命令执行环境。
impala-shell –h
可以帮助我们查看帮助手册。
比如几个常见的:
-
impala-shell –r
刷新impala元数据,与建立连接后执行 refresh 语句效果相同 -
impala-shell –f
文件路径 执行指的的sql查询文件。 -
impala-shell –i
指定连接运行 impalad 守护进程的主机。默认端口是 21000。你可以连接到集群中运行 impalad 的任意主机。 -
impala-shell –o
保存执行结果到文件当中去。
2. impala-shell内部命令
所谓内部命令是指,进入impala-shell命令行之后可以执行的语法。
connect hostname
连接到指定的机器impalad上去执行。
refresh dbname.tablename
增量刷新,刷新某一张表的元数据,主要用于刷新hive当中数据表里面的数据改变的情况。
invalidate metadata
全量刷新,性能消耗较大,主要用于hive当中新建数据库或者数据库表的时候来进行刷新。
quit/exit命令
从impala shell中弹出
explain 命令
用于查看sql语句的执行计划。
explain的值可以设置成0,1,2,3等几个值,其中3级别是最高的,可以打印出最全的信息set explain_level=3;
profile命令
执行sql语句之后执行,可以打印出更加详细的执行步骤,主要用于查询结果的查看,集群的调优等。
注意
:如果在hive窗口中插入数据
或者新建的数据库或者数据库表,那么在impala当中是不可直接查询,需要执行invalidate metadata
以通知元数据的更新;
在impala-shell当中插入的数据,在impala当中是可以直接查询到的,不需要刷新数据库,其中使用的就是catalog这个服务的功能实现的,catalog是impala1.2版本之后增加的模块功能,主要作用就是同步impala之间的元数据。
更新操作通知catalog,catalog通过广播的方式通知其它的impalad进程。默认情况下catalog是异步加载元数据的,因此查询可能需要等待元数据加载完成之后才能进行(第一次加载)。
上一篇: 浅谈OpenStack服务和架构(1)
推荐阅读
-
一条命令让你明白shell中read命令的常用参数
-
从URL中提取参数与将对象转换为URL查询参数的实现代码_javascript技巧
-
请给出如下格式的date命令 例:11-02-26.再给出实现按周输出 比如:周六输出为6,请分别给出命令。
-
ES6使用let命令更简单的实现块级作用域实例分析
-
PHP、Java、C#实现URI参数签名算法,确保应用与REST服务器之间的
-
Linux下实现MySQL数据备份和恢复的命令使用全攻略_MySQL
-
thinphp volist 遍历输出 到a的链接上用U函数 带参数 实现文章小分类的这个功能?
-
PHP函数可变参数列表的具体实现方法介绍_PHP教程
-
自用mysql自带命令实现数据库备份还原的方法
-
PHP命令行脚本接收传入参数的三种方式