操作場景
該任務指導用戶在運維場景或業務場景中使用Hive客戶端
前提條件
- 已安裝客戶端,例如安裝目錄為“/opt/hadoopclient”,以下操作的客戶端目錄只是舉例,請根據實際安裝目錄修改。
- 各組件業務用戶由系統管理員根據業務需要創建。安全模式下,“機機”用戶需要下載keytab文件。“人機”用戶第一次登錄時需修改密碼。
使用Hive客戶端(MRS 3.x之前版本)
1.以客戶端安裝用戶,登錄安裝客戶端的節點。
2.執行以下命令,切換到客戶端安裝目錄。
cd /opt/hadoopclient
3.執行以下命令配置環境變量。
source bigdata_env
4.根據集群認證模式,完成Hive客戶端登錄。
- 安全模式,則執行以下命令,完成用戶認證并登錄Hive客戶端。
kinit 組件業務用戶
beeline
- 普通模式,則執行以下命令,登錄Hive客戶端,如果不指定組件業務用戶,則會以當前操作系統用戶登錄。
beeline -n 組件業務用戶

說明進行beeline連接后,可以編寫并提交HQL語句執行相關任務。如需執行Catalog客戶端命令,需要先執行!q命令退出beeline環境。
- 使用以下命令,執行HCatalog的客戶端命令。
hcat -e "cmd"
其中 "cmd" 必須為Hive DDL語句,如 hcat -e "show tables" 。
說明
若要使用HCatalog客戶端,必須從“組件管理”頁面單擊“下載客戶端”,下載全部服務的客戶端。Beeline客戶端不受此限制。
由于權限模型不兼容,使用HCatalog客戶端創建的表,在HiveServer客戶端中不能訪問,但可以使用WebHCat客戶端訪問。
在普通模式下使用HCatalog客戶端,系統將以當前登錄操作系統用戶來執行DDL命令。
退出beeline客戶端時請使用!q命令,不要使用“Ctrl + c”。否則會導致連接生成的臨時文件無法刪除,長期會累積產生大量的垃圾文件。
在使用beeline客戶端時,如果需要在一行中輸入多條語句,語句之間以“;”分隔,需要將“entireLineAsCommand”的值設置為“false”。
設置方法:如果未啟動beeline,則執行beeline--entireLineAsCommand=false命令;如果已啟動beeline,則在beeline中執行!set entireLineAsCommand false命令。
設置完成后,如果語句中含有不是表示語句結束的“;”,需要進行轉義,例如 select concat_ws(';',collect_set(col1)) from tbl 。
使用Hive客戶端(MRS 3.x及之后版本)
- 以客戶端安裝用戶,登錄安裝客戶端的節點。
- 執行以下命令,切換到客戶端安裝目錄。
cd /opt/hadoopclient
- 執行以下命令配置環境變量。
source bigdata_env
- MRS 3.X支持Hive多實例,若安裝了Hive多實例,在使用客戶端連接具體Hive實例時,請執行以下命令加載具體實例的環境變量,否則請跳過此步驟。例如,加載Hive2實例變量:
source Hive2/component_env
- 根據集群認證模式,完成Hive客戶端登錄。
- 安全模式,則執行以下命令,完成用戶認證并登錄Hive客戶端。
kinit 組件業務用戶
beeline
- 普通模式,則執行以下命令,登錄Hive客戶端,如果不指定組件業務用戶,則會以當前操作系統用戶登錄。
beeline -n 組件業務用戶
- 使用以下命令,執行HCatalog的客戶端命令。
hcat -e "cmd"
其中 "cmd" 必須為Hive DDL語句,如 hcat -e "show tables" 。
| 命令 | 說明 |
|---|---|
| set=< key >=< value > | 設置特定配置變量(鍵)的值。說明若變量名拼錯,Beeline不會顯示錯誤。 |
| set | 打印由用戶或Hive覆蓋的配置變量列表。 |
| set -v | 打印Hadoop和Hive的所有配置變量。 |
| add FILE[S] < filepath >*add JAR[S] < filepath >< filepath > *add ARCHIVE[S]< filepath> < filepath> * | 將一個或多個文件、JAR文件或ARCHIVE文件添加至分布式緩存的資源列表中。 |
| add FILE[S]< ivyurl >< ivyurl>* add JAR[S]< ivyurl >< ivyurl>*add ARCHIVE[S]< ivyurl >< ivyurl > * | 使用“ivy://goup:module:version?query_string”格式的lvy URL,將一個或多個文件、JAR文件或ARCHIVE文件添加至分布式緩存的資源列表中。 |
| list FILE[S]list JAR[S]list ARCHIVE[S] | 列出已添加至分布式緩存中的資源。 |
| list FILE[S]< filepath > *list JAR[S]< filepath > *list ARCHIVE[S]< filepath > * | 檢查給定的資源是否已添加至分布式緩存中。 |
| delete FILE[S]< filepath > *delete JAR[S]< filepath > *delete ARCHIVE[S]< filepath > * | 從分布式緩存中刪除資源。 |
| delete FILE[S] < ivyurl >< ivyurl> *delete JAR[S] < ivyurl >< ivyurl>*delete ARCHIVE[S]< ivyurl >< ivyurl> * | 從分布式緩存中刪除使用添加的資源。 |
| reload | 使HiveServer2發現配置參數指定路徑下JAR文件的變更“hive.reloadable.aux.jars.path”(無需重啟HiveServer2)。更改操作包括添加、刪除或更新JAR文件。 |
| dfs< dfs command> | 執行dfs命令。 |
| < query string > | 執行Hive查詢,并將結果打印到標準輸出。 |
