外部命令
所謂的外部命令指的是不需要進入到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是非同步載入元資料的,因此查詢可能需要等待元資料載入完成之後才能進行(第一次載入)。
impala shell安裝及使用
impala簡介 impala是cloudera公司主導開發的新型查詢系統,它提供sql語義,能查詢儲存在hadoop的hdfs和hbase中的pb級大資料。impala shell使用 impala使用hive sql進行資料查詢,因此impala shell在使用方面也效仿了hive,在許多命令...
impala shell安裝及使用
1.impala簡介 impala是cloudera公司主導開發的新型查詢系統,它提供sql語義,能查詢儲存在hadoop的hdfs和hbase中的pb級大資料。2.impala shell使用 impala使用hive sql進行資料查詢,因此impala shell在使用方面也效仿了hive,在...
Impala shell 匯出查詢資料
用impala查詢hive資料,將結果匯出為本地檔案。常用引數 q query query 命令列執行sql f query file 執行查詢檔案,分號分隔 d database 指定資料庫,不指定使用default,也可以在sql中使用db.table b delimited 去格式化輸出 o ...