Hive常見屬性和互動操作
常見屬性
-
Hive資料倉庫位置配置
default
/user/hive/warehouse
注意事項
* 在倉庫目錄下,沒有對預設的資料庫default建立資料夾
* 如果某張表屬於default資料庫,直接在資料倉庫目錄下建立一個資料夾
hive.metastore.warehouse.dir
/user/hive/warehouse
$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp
$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse -
Hive執行日誌資訊位置
$HIVE_HOME/conf/hive-log4j.properties
hive.log.dir=/opt/modules/hive-0.13.1/logs
hive.log.file=hive.log -
指定hive執行時顯示的log日誌的級別
$HIVE_HOME/conf/hive-log4j.properties
hive.root.logger=INFO,DRFA -
在cli命令列上顯示當前資料庫,以及查詢表的行頭資訊
$HIVE_HOME/conf/hive-site.xml
<property> <name>hive.cli.print.header</name> <value>true</value> <description>Whether to print the names of the columns in query output.</description> </property> <property> <name>hive.cli.print.current.db</name> <value>true</value> <description>Whether to include the current database in the Hive prompt.</description> </property>
-
在啟動hive時設定配置屬性資訊
$ bin/hive --hiveconf <property=value> -
檢視當前所有的配置資訊
hive > set ;hive (db_hive)> set system:user.name ;
system:user.name=beifeng
hive (db_hive)> set system:user.name=beifeng ;此種方式,設定屬性的值,僅僅在當前會話session生效
常用互動操作
[[email protected] hive-0.13.1]$ bin/hive -help
usage: hive
-d,–define <key=value> Variable subsitution to apply to hive
commands. e.g. -d A=B or --define A=B
–database < databasename> Specify the database to use
-e < quoted-query-string> SQL from command line
-f < filename> SQL from files
-H,–help Print help information
-h < hostname> connecting to Hive Server on remote host
–hiveconf <property=value> Use value for given property
–hivevar <key=value> Variable subsitution to apply to hive
commands. e.g. --hivevar A=B
-i < filename> Initialization SQL file
-p < port> connecting to Hive Server on port number
-S,–silent Silent mode in interactive shell
-v,–verbose Verbose mode (echo executed SQL to the
console)
-
bin/hive -e < quoted-query-string> 不進入hive的互動式頁面查詢結果,常用於測試
eg:
bin/hive -e “select * from hive.student ;” -
bin/hive -f < filename> 執行sql指令碼
eg:
$ touch hivef.sql
select * from hive.student ;
$ bin/hive -f /opt/datas/hivef.sql
$ bin/hive -f /opt/datas/hivef.sql > /opt/datas/hivef-res.txt -
bin/hive -i < filename>
與使用者udf相互使用
-
在hive cli命令視窗中如何檢視hdfs檔案系統
hive (default)> dfs -ls / ; -
在hive cli命令視窗中如何檢視本地(linux系統)檔案系統
hive (default)> !ls /opt/datas ; -
exit和quit退出區別?
exit:先隱性提交資料,再退出;quit:不提交資料,退出; -
在當前使用者的home目錄下有hive的操作歷史
$Home/.hivehistory