Hive參數操作和運行方式
1、Hive參數操作
1、hive參數介紹
hive當中的參數、變量都是以命名空間開頭的,詳情如下表所示:
命名空間 | 讀寫權限 | 含義 |
---|---|---|
hiveconf | 可讀寫 | hive-site.xml當中的各配置變量例:hive --hiveconf hive.cli.print.header=true |
system | 可讀寫 | 系統變量,包含JVM運行參數等例:system:user.name=root |
env | 只讀 | 環境變量例:env:JAVA_HOME |
hivevar | 可讀寫 | 例:hive -d val=key |
hive的變量可以通過${}方式進行引用,其中system、env下的變量必須以前綴開頭
2、hive參數的設置方式
1、在${HIVE_HOME}/conf/hive-site.xml文件中添加參數設置
注意:永久生效,所有的hive會話都會加載對應的配置
2、在啟動hive cli時,通過--hiveconf key=value的方式進行設置
例如:hive --hiveconf hive.cli.print.header=true
注意:只在當前會話有效,退出會話之后參數失效
3、在進入到cli之后,通過set命令設置
例如:set hive.cli.print.header=true;
--在hive cli控制台可以通過set對hive中的參數進行查詢設置
--set設置
set hive.cli.print.header=true;
--set查看
set hive.cli.print.header
--set查看全部屬性
set
4、hive參數初始化設置
在當前用戶的家目錄下創建.hiverc文件,在當前文件中設置hive參數的命令,每次進入hive cli的時候,都會加載.hiverc的文件,執行文件中的命令。
注意:在當前用戶的家目錄下還會存在.hivehistory文件,此文件中保存了hive cli中執行的所有命令
2、hive運行方式
1、hive運行方式分類
(1)命令行方式或者控制台模式
(2)腳本運行方式(實際生產環境中用最多)
(3)JDBC方式:hiveserver2
( 4)web GUI接口(hwi、hue等)
2、hive命令行模式詳解
(1)在命令行中可以直接輸入SQL語句,例如:select * from table_name
(2)在命令行中可以與HDFS交互,例如:dfs ls /
(3)在命令行中可以與linux交互,例如:! pwd或者! ls /
注意:與linux交互的時候必須要加!
3、hive腳本運行方式
--hive直接執行sql命令,可以寫一個sql語句,也可以使用;分割寫多個sql語句
hive -e ""
--hive執行sql命令,將sql語句執行的結果重定向到某一個文件中
hive -e "">aaa
--hive靜默輸出模式,輸出的結果中不包含ok,time token等關鍵字
hive -S -e "">aaa
--hive可以直接讀取文件中的sql命令,進行執行
hive -f file
--hive可以從文件中讀取命令,並且執行初始化操作
hive -i /home/my/hive-init.sql
--在hive的命令行中也可以執行外部文件中的命令
hive> source file (在hive cli中運行)
4、hive JDBC訪問方式,之前講過,不再贅述
5、Hive GUI方式