1. 程式人生 > >Hive常見屬性和互動操作

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