Change Dir

          先知cd——熱愛生活是一切藝術的開始

          統(tǒng)計

          留言簿(18)

          積分與排名

          “牛”們的博客

          各個公司技術

          我的鏈接

          淘寶技術

          閱讀排行榜

          評論排行榜

          Hive配置項的含義詳解(1)

          一個hive任務,如何才算是優(yōu)化的任務,hadoop job config里哪些配置能影響hive的效率。看看hive的詳細配置我們可以略知一二。

          hive的配置:

          hive.ddl.output.format:hive的ddl語句的輸出格式,默認是text,純文本,還有json格式,這個是0.90以后才出的新配置;

          hive.exec.script.wrapper:hive調用腳本時的包裝器,默認是null,如果設置為python的話,那么在做腳本調用操作時語句會變?yōu)閜ython <script command>,null的話就是直接執(zhí)行<script command>;

          hive.exec.plan:hive執(zhí)行計劃的文件路徑,默認是null,會在運行時自動設置,形如hdfs://xxxx/xxx/xx;

          hive.exec.scratchdir:hive用來存儲不同階段的map/reduce的執(zhí)行計劃的目錄,同時也存儲中間輸出結果,默認是/tmp/<user.name>/hive,我們實際一般會按組區(qū)分,然后組內自建一個tmp目錄存儲;

          hive.exec.submitviachild:在非local模式下,決定hive是否要在獨立的jvm中執(zhí)行map/reduce;默認是false,也就是說默認map/reduce的作業(yè)是在hive的jvm上去提交的;

          hive.exec.script.maxerrsize:當用戶調用transform或者map或者reduce執(zhí)行腳本時,最大的序列化錯誤數,默認100000,一般也不用修改;

          hive.exec.compress.output:一個查詢的最后一個map/reduce任務輸出是否被壓縮的標志,默認為false,但是一般會開啟為true,好處的話,根據這篇文章,節(jié)省空間不說,在不考慮cpu壓力的時候會提高io;

          hive.exec.compress.intermediate:類似上個,在一個查詢的中間的map/reduce任務輸出是否要被壓縮,默認false,但一般也會手動開啟,這篇文章對比了這兩個配置,其中回復講到,The former affects compression between MapReduce stages in a Hive query. The latter affects compression between map and reduce phases during the shuffle. 如此而已;

          hive.jar.path:當使用獨立的jvm提交作業(yè)時,hive_cli.jar所在的位置,無默認值;

          hive.aux.jars.path:當用戶自定義了UDF或者SerDe,這些插件的jar都要放到這個目錄下,無默認值;

          hive.partition.pruning:在編譯器發(fā)現(xiàn)一個query語句中使用分區(qū)表然而未提供任何分區(qū)謂詞做查詢時,拋出一個錯誤從而保護分區(qū)表,默認是nonstrict;(待讀源碼后細化,網上資料極少)

          hive.map.aggr:map端聚合是否開啟,默認開啟;這篇文章給出了map端聚合的很詳細的描述;

          hive.join.emit.interval:在發(fā)出join結果之前對join最右操作緩存多少行的設定,默認1000;hive jira里有個對該值設置太小的bugfix;

          hive.map.aggr.hash.percentmemory:map端聚合時hash表所占用的內存比例,默認0.5,這個在map端聚合開啟后使用,參看hive.map.aggr里提到的文章;

          hive.default.fileformat:CREATE TABLE語句的默認文件格式,默認TextFile,其他可選的有SequenceFile、RCFile還有Orc;對于文件格式的說明對比,這里有篇對比可以參考,infoq上有篇文章講了hadoop的文件格式;

          hive.merge.mapfiles:在只有map的作業(yè)結束時合并小文件,默認開啟true;

          hive.merge.mapredfiles:在一個map/reduce作業(yè)結束后合并小文件,默認不開啟false;

          hive.merge.size.per.task:作業(yè)結束時合并文件的大小,默認256MB;

          hive.merge.smallfiles.avgsize:在作業(yè)輸出文件小于該值時,起一個額外的map/reduce作業(yè)將小文件合并為大文件,小文件的基本閾值,設置大點可以減少小文件個數,需要mapfiles和mapredfiles為true,默認值是16MB;

          posted on 2013-08-13 15:24 changedi 閱讀(3928) 評論(0)  編輯  收藏 所屬分類: 數據

          主站蜘蛛池模板: 沅陵县| 安阳县| 宾阳县| 额敏县| 泸定县| 蒙山县| 黑河市| 浦北县| 西城区| 尤溪县| 耒阳市| 航空| 晋城| 宜昌市| 南乐县| 宝丰县| 武陟县| 长葛市| 中牟县| 遂平县| 年辖:市辖区| 郑州市| 辽阳县| 法库县| 根河市| 特克斯县| 竹北市| 越西县| 全南县| 云和县| 志丹县| 伊川县| 中宁县| 龙门县| 绥化市| 通城县| 古浪县| 浦东新区| 柳州市| 吉隆县| 台湾省|