Hive配置⽂件中配置项的含义详解
这⾥⾯列出了hive⼏乎所有的配置项,下⾯问题只是说出了⼏种配置项⽬的作⽤。更多内容,可以查看内容
问题导读:
1.hive输出格式的配置项是哪个?
2.hive被各种语⾔调⽤如何配置?
3.hive提交作业是在hive中还是hadoop中?
4.⼀个查询的最后⼀个map/reduce任务输出是否被压缩的标志,通过哪个配置项?
措施费包括5.当⽤户⾃定义了UDF或者SerDe,这些插件的jar都要放到这个⽬录下,通过那个配置项?
6.每个reducer的⼤⼩,默认是1G,输⼊⽂件如果是10G,那么就会起10个reducer;通过那个配置项可以配置?
8.本地模式时,map/reduce的内存使⽤量该如何配置?
9.在做表join时缓存在内存中的⾏数,默认25000;通过那个配置项可以修改?
10.是否开启数据倾斜的join优化,通过那个配置项可以优化?
11.并⾏运算开启时,允许多少作业同时计算,默认是8;该如何修改这个配置项?
hive的配置:
hive.ddl.output.format:hive的ddl语句的输出格式,默认是text,纯⽂本,还有json格式,这个是0.90以后才出的新配置;
是/tmp/<user.name>/hive,我们实际⼀般会按组区分,然后组内⾃建⼀个tmp⽬录存储;
map/reduce的作业是在hive的jvm上去提交的;
三国故事有哪些
hive.jar.path:当使⽤独⽴的jvm提交作业时,hive_cli.jar所在的位置,⽆默认值;
hive.aux.jars.path:当⽤户⾃定义了UDF或者SerDe,这些插件的jar都要放到这个⽬录下,⽆默认值;
hive.partition.pruning:在编译器发现⼀个query语句中使⽤分区表然⽽未提供任何分区谓词做查询时,抛出⼀个错误从⽽保护分区表,默认是nonstrict;(待读源码后细化,⽹上资料极少)
hive.map.aggr:map端聚合是否开启,默认开启;
hive.map.aggr:map端聚合是否开启,默认开启;
it.interval:在发出join结果之前对join最右操作缓存多少⾏的设定,默认1000;hive jira⾥有个对该值设置太⼩的bugfix;hive.map.aggr.hash.percentmemory:map端聚合时hash表所占⽤的内存⽐例,默认0.5,这个在map端聚合开启后使⽤,
hive.default.fileformat:CREATE TABLE语句的默认⽂件格式,默认TextFile,其他可选的有SequenceFile、RCFile还有Orc;
最新教师节祝福语smallfiles.avgsize:在作业输出⽂件⼩于该值时,起⼀个额外的map/reduce作业将⼩⽂件合并为⼤⽂件,⼩⽂件的基本阈值,设置⼤点可以减少⼩⽂件个数,需要mapfiles和mapredfiles为true,默认值是16MB;
hive.fileformat.check:加载数据⽂件时是否校验⽂件格式,默认是true;
⽬的来解决数据倾斜,
100000;
hive.:本地模式时,map/reduce的内存使⽤量,默认是0,就是⽆限制;
hive.mapjoin.followby.map.aggr.hash.percentmemory:map端聚合时hash表的内存占⽐,该设置约束group by在map join后进⾏,否则使⽤hive.map.aggr.hash.percentmemory来确认内存占⽐,默认值0.3;
立冬是几月几日2018年hive.map.aggr.hash.y.threshold:map端聚合时hash表的最⼤可⽤内存,如果超过该值则进⾏flush数据,默认是0.9;
hive.map.aggr.duction:如果hash表的容量与输⼊⾏数之⽐超过这个数,那么map端的hash聚合将被关闭,默认是0.5,设置为1可以保证hash聚合永不被关闭;
upby:在做分区和表查询时是否做分桶group by,默认开启true;
hive.multigroupby.singlemr:将多个group by产出为⼀个单⼀map/reduce任务计划,当然约束前提是group by有相同的key,默认是false;
hive.optimize.cp:列裁剪,默认开启true,在做查询时只读取⽤到的列,这个是个有⽤的优化;
hive.optimize.index.filter:⾃动使⽤索引,默认不开启false;
hive.upby:是否使⽤聚集索引优化group-by查询,默认关闭false;
hive.optimize.ppd:是否⽀持谓词下推,默认开启;所谓谓词下推,将外层查询块的 WHERE ⼦句中的谓词移⼊所包含的较低层查询块(例如视图),从⽽能够提早进⾏数据过滤以及有可能更好地利⽤索引。
hive.optimize.ppd.storage:谓词下推开启时,谓词是否下推到存储handler,默认开启,在谓词下推关闭时不起作⽤;
izetransivity:在等值join条件下是否产地重复的谓词过滤器,默认开启;
hive.join.cache.size:在做表join时缓存在内存中的⾏数,默认25000;
hive.mapjoin.bucket.cache.size:mapjoin时内存cache的每个key要存储多少个value,默认100;
hive.optimize.skewjoin:是否开启数据倾斜的join优化,默认不开启false;
hive.skewjoin.key:判断数据倾斜的阈值,如果在join中发现同样的key超过该值则认为是该key是倾斜的join key,默认是100000;
hive.skewjoin.mapjoin.map.tasks:在数据倾斜join时map join的map数控制,默认是10000;
hive.skewjoin.mapjoin.min.split:数据倾斜join时map join的map任务的最⼩split⼤⼩,默认是33554432,该参数要结合上⾯的参数共同使⽤来进⾏细粒度的控制;
de:hive操作执⾏时的模式,默认是nonstrict⾮严格模式,如果是strict模式,很多有风险的查询会被禁⽌运⾏,⽐如笛卡尔积的join和动态分区;
hive.script.v.var:在⽤户使⽤transform函数做⾃定义map/reduce时,存储唯⼀的脚本标识的环境变量的名字,默认HIVE_SCRIPT_OPERATOR_ID;
hive.task.progress:控制hive是否在执⾏过程中周期性的更新任务进度计数器,开启这个配置可以帮助job tracker更好的监控任务的执⾏情况,但是会带来⼀定的性能损耗,当动态分区标志dy
namic.partition开启时,本配置⾃动开启;
hive.mapjoin.smalltable.filesize:输⼊表⽂件的mapjoin阈值,如果输⼊⽂件的⼤⼩⼩于该值,则试图将普通join转化为mapjoin,默认25MB;
hive.mapjoin.usage:mapjoin本地任务执⾏时hash表容纳key/value的最⼤量,超过这个值的话本地任务会⾃动退出,默认是0.9;
hive.mapjoin.followby.gby.usage:类似上⾯,只不过是如果mapjoin后有⼀个group by的话,该配置控制类似这样的query的本地内存容量上限,默认是0.55;
hive.ws:在运算了多少⾏后执⾏内存使⽤量检查,默认100000;
hive.ws:在运算了多少⾏后执⾏内存使⽤量检查,默认100000;
hive.heartbeat.interval:发送⼼跳的时间间隔,在mapjoin和filter操作中使⽤,默认1000;
vert.join:根据输⼊⽂件的⼤⼩决定是否将普通join转换为mapjoin的⼀种优化,默认不开启false;
hive.script.auto.progress:hive的transform/map/reduce脚本执⾏时是否⾃动的将进度信息发送给TaskTracker来避免任务没有响应被误杀,本来是当脚本输出到标准错误时,发送进度信息,但是开启该项后,输出到标准错误也不会导致信息发送,因此有可能会造成脚本有死循环产⽣,但是TaskTracker却没有检查到从⽽⼀直循环下去;
hive.script.serde:⽤户脚本转换输⼊到输出时的SerDe约束,默认是org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe;
dreader:从脚本读数据的时候的默认reader,默认是org.apache.hadoop.TextRecordReader;
dwriter:写数据到脚本时的默认writer,默认org.apache.hadoop.TextRecordWriter;
hive.input.format:输⼊格式,默认是org.apache.hadoop.hive.ql.io.CombineHiveInputFormat,如果出现问题,可以改⽤
org.apache.hadoop.hive.ql.io.HiveInputFormat;
田赛和径赛hive.udtf.auto.progress:UDTF执⾏时hive是否发送进度信息到TaskTracker,默认是false;
duce.ution:reduce任务推测执⾏是否开启,默认是true;
ducededuplication:如果数据已经根据相同的key做好聚合,那么去除掉多余的map/reduce作业,此配置是⽂档的推荐配置,建议打开,默认是true;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论