不多說,直接上干貨!
![](http://img.jbzj.com/file_images/article/202012/20201211115541810.png?20201111115557)
1. impala-shell外部命令
所謂的外部命令指的是不需要進(jìn)入到impala-shell交互命令行當(dāng)中即可執(zhí)行的命令參數(shù)
。impala-shell后面執(zhí)行的時(shí)候可以帶很多參數(shù)。你可以在啟動(dòng) impala-shell 時(shí)設(shè)置,用于修改命令執(zhí)行環(huán)境。
impala-shell –h
可以幫助我們查看幫助手冊(cè)。
比如幾個(gè)常見的:
impala-shell –r
刷新impala元數(shù)據(jù),與建立連接后執(zhí)行 REFRESH 語句效果相同
impala-shell –f
文件路徑 執(zhí)行指的的sql查詢文件。
impala-shell –i
指定連接運(yùn)行 impalad 守護(hù)進(jìn)程的主機(jī)。默認(rèn)端口是 21000。你可以連接到集群中運(yùn)行 impalad 的任意主機(jī)。
impala-shell –o
保存執(zhí)行結(jié)果到文件當(dāng)中去。
![](/d/20211017/454085cae8f9131e1f5972bee3242dbd.gif)
2. impala-shell內(nèi)部命令
所謂內(nèi)部命令是指,進(jìn)入impala-shell命令行之后可以執(zhí)行的語法。
![](/d/20211017/5ca004fa7052273063f7ee28647662a2.gif)
connect hostname
連接到指定的機(jī)器impalad上去執(zhí)行。
![](/d/20211017/af0085cca47a98d6c7977a08d411dd12.gif)
refresh dbname.tablename
增量刷新,刷新某一張表的元數(shù)據(jù),主要用于刷新hive當(dāng)中數(shù)據(jù)表里面的數(shù)據(jù)改變的情況。
![](/d/20211017/21d74f3d38917b4620a16687620baea6.gif)
invalidate metadata
全量刷新,性能消耗較大,主要用于hive當(dāng)中新建數(shù)據(jù)庫或者數(shù)據(jù)庫表的時(shí)候來進(jìn)行刷新。
quit/exit命令
從Impala shell中彈出
explain 命令
用于查看sql語句的執(zhí)行計(jì)劃。
![](/d/20211017/7e86ccff55a515fc5e267235d9f8f4c6.gif)
explain的值可以設(shè)置成0,1,2,3等幾個(gè)值,其中3級(jí)別是最高的,可以打印出最全的信息
set explain_level=3;
profile命令
執(zhí)行sql語句之后執(zhí)行,可以打印出更加詳細(xì)的執(zhí)行步驟,主要用于查詢結(jié)果的查看,集群的調(diào)優(yōu)等。
![](/d/20211017/e4d2893969deb606314b925ae4938fa2.gif)
注意
:如果在hive窗口中插入數(shù)據(jù)
或者新建的數(shù)據(jù)庫或者數(shù)據(jù)庫表,那么在impala當(dāng)中是不可直接查詢,需要執(zhí)行invalidate metadata
以通知元數(shù)據(jù)的更新;
在impala-shell當(dāng)中插入的數(shù)據(jù),在impala當(dāng)中是可以直接查詢到的,不需要刷新數(shù)據(jù)庫,其中使用的就是catalog這個(gè)服務(wù)的功能實(shí)現(xiàn)的,catalog是impala1.2版本之后增加的模塊功能,主要作用就是同步impala之間的元數(shù)據(jù)。
更新操作通知Catalog,Catalog通過廣播的方式通知其它的Impalad進(jìn)程。默認(rèn)情況下Catalog是異步加載元數(shù)據(jù)的,因此查詢可能需要等待元數(shù)據(jù)加載完成之后才能進(jìn)行(第一次加載)。
您可能感興趣的文章:- Shell腳本中判斷輸入變量或者參數(shù)是否為空的方法
- Shell腳本中判斷輸入?yún)?shù)個(gè)數(shù)的方法
- bash shell命令行選項(xiàng)與修傳入?yún)?shù)處理
- linux shell命令行選項(xiàng)與參數(shù)用法詳解
- shell 使用數(shù)組作為函數(shù)參數(shù)的方法(詳解)
- shell腳本之判斷輸入?yún)?shù)是否為整數(shù)值的實(shí)例
- 對(duì)shell中常見參數(shù)及判斷命令介紹
- PowerShell中給函數(shù)參數(shù)設(shè)置幫助信息的例子
- Shell腳本中的位置變量參數(shù)(特殊字符)實(shí)例講解