真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Hive運(yùn)維中hive-site文件的示例分析

小編給大家分享一下Hive運(yùn)維中hive-site文件的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

義縣網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,義縣網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為義縣上1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的義縣做網(wǎng)站的公司定做!

0. hive設(shè)置的優(yōu)先級(jí)(從高到低):

1. Hive set命令。

2. 命令行選擇 -hiveconf

3. hive-site.xml

4. hive-default.xml

5. hadoop-site.xml(或者是core-site.xml   hdfs-site.xml  mapred-site.xml)

6. hadoop-default.xml(或者是core-default.xml   hdfs-default.xml  mapred-default.xml)。

7. hive的日志信息存放在 /tmp/$USER/hive.log,出錯(cuò)時(shí)hadoop的mapred task logs也可以查看,本環(huán)境在/tmp/nslab下查看。

     命令:hive  -hiveconf  hive.root.logger=DEBUG,console  將調(diào)試信息打印到控制臺(tái)。

使用set的使用

1. 使用set查看設(shè)置的值:

       set hive.enforce.bucketing

2. 只輸入一個(gè)set,會(huì)列出所有的設(shè)置。

3. 設(shè)置新的屬性,格式類似下面:

     set  hive.enforce.bucketing=true;

1. 動(dòng)態(tài)分區(qū):

hive.exec.dynamic.partition

是否打開(kāi)動(dòng)態(tài)分區(qū)。

默認(rèn):false

hive.exec.dynamic.partition.mode

打開(kāi)動(dòng)態(tài)分區(qū)后,動(dòng)態(tài)分區(qū)的模式,有 strict 和 nonstrict 兩個(gè)值可選,strict 要求至少包含一個(gè)靜態(tài)分區(qū)列,nonstrict 則無(wú)此要求。

默認(rèn):strict

hive.exec.max.dynamic.partitions

所允許的最大的動(dòng)態(tài)分區(qū)的個(gè)數(shù)。

默認(rèn):1000

hive.exec.max.dynamic.partitions.pernode

單個(gè) reduce 結(jié)點(diǎn)所允許的最大的動(dòng)態(tài)分區(qū)的個(gè)數(shù)。

默認(rèn):100

hive.exec.default.partition.name

默認(rèn)的動(dòng)態(tài)分區(qū)的名稱,當(dāng)動(dòng)態(tài)分區(qū)列為''或者null時(shí),使用此名稱。''

2. 打印列名, 開(kāi)啟行轉(zhuǎn)列(有待測(cè)試)

set hive.cli.print.header=true;            // 打印列名

set hive.cli.print.row.to.vertical=true;   // 開(kāi)啟行轉(zhuǎn)列功能, 前提必須開(kāi)啟打印列名功能

set hive.cli.print.row.to.vertical.num=1; // 設(shè)置每行顯示的列數(shù)

3. 查看hive版本:

set hive.hwi.war.file;

4. 查看hive命令行字符編碼:

hive.cli.encoding

Hive 默認(rèn)的命令行字符編碼。

默認(rèn): 'UTF8'

5. Hive  Fetch Task執(zhí)行:

set hive.fetch.task.conversion=more;

對(duì)于簡(jiǎn)單的不需要聚合的類似SELECT from

LIMIT n語(yǔ)句,不需要起MapReduce job,直接通過(guò)Fetch task獲取數(shù)據(jù)(數(shù)據(jù)量過(guò)大, 也能 無(wú) 返回結(jié)果)

類似linux的vi,直接對(duì)文本進(jìn)行操作。

也有點(diǎn)類似shark的列存儲(chǔ)的操作: 放在同一個(gè)array里面,所以查詢數(shù)據(jù)很快

hive.fetch.task.conversion

Hive 默認(rèn)的mapreduce操作

默認(rèn): minimal

6. MapJoin

舊版本HIVE需要自行在查詢/子查詢的SELECT關(guān)鍵字后面添加/*+ MAPJOIN(tablelist) */提示優(yōu)化器轉(zhuǎn)化為MapJoin。高版本只需設(shè)置:

set hive.auto.convert.join=true;  

HIVE自行選擇小表作為L(zhǎng)EFT的左表。

7. Strict Mode:

hive.mapred.mode=true,嚴(yán)格模式不允許執(zhí)行以下查詢:

分區(qū)表上沒(méi)有指定了分區(qū)

沒(méi)有l(wèi)imit限制的order by語(yǔ)句

笛卡爾積:JOIN時(shí)沒(méi)有ON語(yǔ)句

8. 并發(fā)執(zhí)行任務(wù):

設(shè)置該參數(shù)是控制在同一個(gè)sql中的不同的job是否可以同時(shí)運(yùn)行,默認(rèn)是false

hive.exec.parallel=true ,默認(rèn)為false

hive.exec.parallel.thread.number=8

9. 負(fù)載均衡

hive.groupby.skewindata=true:數(shù)據(jù)傾斜時(shí)負(fù)載均衡,當(dāng)選項(xiàng)設(shè)定為true,生成的查詢計(jì)劃會(huì)有兩個(gè)MRJob。第一個(gè)MRJob 中,

Map的輸出結(jié)果集合會(huì)隨機(jī)分布到Reduce中,每個(gè)Reduce做部分聚合操作,并輸出結(jié)果,這樣處理的結(jié)果是相同的GroupBy Key

有可能被分發(fā)到不同的Reduce中,從而達(dá)到負(fù)載均衡的目的;第二個(gè)MRJob再根據(jù)預(yù)處理的數(shù)據(jù)結(jié)果按照GroupBy Key分布到

Reduce中(這個(gè)過(guò)程可以保證相同的GroupBy Key被分布到同一個(gè)Reduce中),最后完成最終的聚合操作。

10. hive.exec.rowoffset:是否提供虛擬列

11.  set hive.error.on.empty.partition=true;  那么動(dòng)態(tài)分區(qū)如果為空,則會(huì)報(bào)異常

    set hive.error.on.empty.partition = true;
    set hive.exec.dynamic.partition.mode=nonstrict; 
 

   參考地址: http://my.oschina.net/repine/blog/541380

12. hive.merge.mapredfiles:合并小文件

    工作需要合并reduce產(chǎn)生文件:

    set hive.merge.smallfiles.avgsize=67108864;
    set hive.merge.mapfiles=true;
    set hive.merge.mapredfiles=true;
 

    參考地址: http://www.linuxidc.com/Linux/2015-06/118391.htm

1.先在hive-site.xml中設(shè)置小文件的標(biāo)準(zhǔn). 


  hive.merge.smallfiles.avgsize
  536870912
  When the average output file size of a job is less than this number, Hive will start an additional map-reduce job to merge the output files into bigger files.  This is only done for map-only jobs if hive.merge.mapfiles is true, and for map-reduce jobs if hive.merge.mapredfiles is true.


2.為只有map的mapreduce的輸出并合并小文件.


  hive.merge.mapfiles
  true
  Merge small files at the end of a map-only job


3.為含有reduce的mapreduce的輸出并合并小文件.


  hive.merge.mapredfiles
  true
  Merge small files at the end of a map-reduce job

以上是“Hive運(yùn)維中hive-site文件的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享標(biāo)題:Hive運(yùn)維中hive-site文件的示例分析
鏈接URL:http://weahome.cn/article/pogjej.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部