Impala-shell命令參數

  • 外部命令

所謂的外部命令指的是不需要進入到impala-shell交互命令行當中即可執行的命令參數。impala-shell後面執行的時候可以帶很多參數。你可以在啓動 impala-shell 時設置,用於修改命令執行環境。

 

比如幾個常見的:

impala-shell:進入shell窗口

impala-shell –h:查看幫助手冊

impala-shell –r:刷新impala元數據,與建立連接後執行 REFRESH 語句效果相同

impala-shell –f :文件路徑: 執行指的的sql查詢文件。

impala-shell –i:指定連接運行 impalad 守護進程的主機。默認端口是 21000。你可以連接到集羣中運行 impalad 的任意主機。

impala-shell –o:保存執行結果到文件當中去。

 

 

  • 內部命令

所謂內部命令是指,進入impala-shell命令行之後可以執行的語法。

 

help:查看幫助手冊

 

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是異步加載元數據的,因此查詢可能需要等待元數據加載完成之後才能進行(第一次加載)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章