Impala-shell命令參數(shù)的實現(xiàn)
不多說,直接上干貨!

1. impala-shell外部命令
所謂的外部命令指的是不需要進入到impala-shell交互命令行當(dāng)中即可執(zhí)行的命令參數(shù)。impala-shell后面執(zhí)行的時候可以帶很多參數(shù)。你可以在啟動 impala-shell 時設(shè)置,用于修改命令執(zhí)行環(huán)境。
impala-shell –h可以幫助我們查看幫助手冊。
比如幾個常見的:
impala-shell –r刷新impala元數(shù)據(jù),與建立連接后執(zhí)行 REFRESH 語句效果相同impala-shell –f文件路徑 執(zhí)行指的的sql查詢文件。impala-shell –i指定連接運行 impalad 守護進程的主機。默認端口是 21000。你可以連接到集群中運行 impalad 的任意主機。impala-shell –o保存執(zhí)行結(jié)果到文件當(dāng)中去。

2. impala-shell內(nèi)部命令
所謂內(nèi)部命令是指,進入impala-shell命令行之后可以執(zhí)行的語法。

connect hostname 連接到指定的機器impalad上去執(zhí)行。

refresh dbname.tablename增量刷新,刷新某一張表的元數(shù)據(jù),主要用于刷新hive當(dāng)中數(shù)據(jù)表里面的數(shù)據(jù)改變的情況。

invalidate metadata全量刷新,性能消耗較大,主要用于hive當(dāng)中新建數(shù)據(jù)庫或者數(shù)據(jù)庫表的時候來進行刷新。
quit/exit命令 從Impala shell中彈出
explain 命令 用于查看sql語句的執(zhí)行計劃。

explain的值可以設(shè)置成0,1,2,3等幾個值,其中3級別是最高的,可以打印出最全的信息
set explain_level=3;
profile命令執(zhí)行sql語句之后執(zhí)行,可以打印出更加詳細的執(zhí)行步驟,主要用于查詢結(jié)果的查看,集群的調(diào)優(yōu)等。

注意:如果在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這個服務(wù)的功能實現(xiàn)的,catalog是impala1.2版本之后增加的模塊功能,主要作用就是同步impala之間的元數(shù)據(jù)。
更新操作通知Catalog,Catalog通過廣播的方式通知其它的Impalad進程。默認情況下Catalog是異步加載元數(shù)據(jù)的,因此查詢可能需要等待元數(shù)據(jù)加載完成之后才能進行(第一次加載)。
相關(guān)文章
一天一個shell命令 linux文本操作系列-diff命令詳解
這篇文章主要介紹了一天一個shell命令 linux文本操作系列-diff命令詳解,需要的朋友可以參考下2016-06-06
使用Bash腳本自動化清理Nacos日志文件的實現(xiàn)方法
在現(xiàn)代的分布式系統(tǒng)中,Nacos作為服務(wù)發(fā)現(xiàn)、配置管理和動態(tài)服務(wù)管理的核心組件,其日志文件的管理顯得尤為重要,隨著系統(tǒng)的運行,日志文件會不斷累積,占用大量磁盤空間,本文將介紹如何通過一個簡單的 Bash 腳本自動化清理 Nacos 的日志文件,需要的朋友可以參考下2025-04-04
用shell+sendmail實現(xiàn)服務(wù)器監(jiān)控報警小腳本
用shell+sendmail寫的服務(wù)器監(jiān)控報警小腳本,有需要的朋友可以參考下2013-03-03

