Hive中常用的一些配置操作(日志,顯示等操作)

1.修改默認的數(shù)據(jù)倉庫位置,在hive-site.xml文件中配置如下參數(shù):

<property>

? ? ?<name>hive.metastore.warehouse.dir</name>

? ? ?<value>自己指定倉庫位置(eg:/user/hive/warehouse)</value>

</property>

添加好參數(shù)以后,需要對指定的目錄附上用戶組的權(quán)限,執(zhí)行以下命令:

$ $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(自己新的目錄)

2.配置Hive運行日志信息的存放位置,執(zhí)行如下命令:

mv? hive-log4j.properties.template ? ? ?hive-log4j.properties

修改這兩個參數(shù)

hive.log.dir=/opt/modules/hive-0.13.1/logs(log存放的位置)

hive.log.file=hive.log(log文件的名字)

3.指定log日志的現(xiàn)實級別,修改如下參數(shù):

hive.root.logger=INFO,DRFA

4.在HIve的 cli命令行上顯示當前數(shù)據(jù)庫,以及查詢表的行頭信息,在hive-site.xml文件下增加如下參數(shù):

<property>

? ? ? <name>hive.cli.print.header</name>

? ? ? <value>true</value>

</property>

<property>

? ? ? <name>hive.cli.print.current.db</name>

? ? ? <value>true</value>

</property>

5.在Hive啟動的時候配置一些參數(shù)信息,改配置只對本次會話起作用。執(zhí)行如下命令:

$ bin/hive --hiveconf ? <property=value>

6.在hive的客戶端執(zhí)行hdfs的操作命令,執(zhí)行如下命令:

dfs -ls / ?查看hive的信息

dfs -rm -R ? /... ? ? 刪除執(zhí)行文件

7.hive中常見的幾種SQL操作方式:

bin/hive ? -e ? ?"select * from test"

bin/hive ? -f ? ? /usr/datas/hiveq.sql ? ? ? ? 以腳本的方式執(zhí)行SQL語句

bin/hive? -f? ? /usr/datas/hiveq.sql ? ?> ? ? ?/usr/data/result.txt ? ? 將執(zhí)行結(jié)果寫入指定的文件中

bin/hive ? -I ? ? ? <filename> ? ? ? 初始化使用,通常與UDF配合使用 ? ? ?

8.在Hive中操作本地文件系統(tǒng),只需要在命令前面加一個“!”即可

9.關(guān)于分區(qū)表的一些操作:

? ? 1>創(chuàng)建一個分區(qū)表:

? ? ? ? ?create ?table ?test(

? ? ? ? ? ? ? ?username ? ? string,

? ? ? ? ? ? ? ?password ? ? ?string

? ? ? ? ?)

? ? ? ? ?partitioned by (month string)

? ? ? ? ?row format delimited fields termsnated by '\t'

? ? ? 2>加載本地數(shù)據(jù)到一個分區(qū)表中:

load data local inpath '/usr/test/1.data' ?into ?table ?test ?partition (month='201304')

? ? ? 3>修復分區(qū)表的兩種操作:

1??. ? msck ?repair ?table ?test;

2??. ?alter ?table ?test ?add ?partition(month='201303'); ? ? ? ?這種更加常用

10.將Hive中的數(shù)據(jù)導出到本地:

insert ?overwrite ?local ?directory ?‘/usr/datas/hive-test'?

ROW FORMAT DELIMITED ?FIELDS ?TERMINATED BY '\t' (指定導出時的字段之間格式)

COLLECTION ITEMS TERMINATED BY '\n' ?(指定導出時行之間的格式)

select * ?from ?test;

11.order by,sort by,distributed by,cluster by的區(qū)別:

order by:這個是對全局排序

sort by:這個是在reduce 中進行的局部排序

distributed by:這個類似于mapreduce中的partition,常常配合sort by一塊使用,且sort by 放在后面

cluster by:當sort by 和distributed by 的字段相同時,使用cluster by代替

12.UDF編程實用方式:

? ? 1>第一種方式:將編寫的java打包成jar文件,然后在hive客戶端執(zhí)行如下命令:

add ?jar ?/usr/datas/hiveudf.jar ? ? ? ? 添加jar到當前運行的hive中

create ?temporary ?function ?my_lower ?as ?"com.test.hive.udf.LowerUDF"; ?創(chuàng)建一個函數(shù)

2>第二種方式:同樣將java打包成jar然后運行如下命令(注意,這里的jar要上傳到hdfs):

create? function? my_lower as "com.test.hive.udf.LowerUDF" using jar 'hdfs://master:8020/datas/hiveudf.jar;

總結(jié):以上為對Hive的一些簡單操作,后續(xù)不斷更新,請關(guān)注。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容