tez得文件生成个数与什么有关?

之前研究过hive on spark,最后的文件生成个数
hive-mapJoin和skewJoin-CSDN博客
现在在cdp了 使用的是hive on tez。也在学习下这个文件的生成个数与什么有关?

以该表为例 有11个文件 每个差不多60M左右 总共620M左右。

 我们先想下 哪些参数和生成的文件数有关?

set hive.tez.cpu.vcores   --好像是tez处理时用的core 类似spark的core 默认没有

set mapred.reduce.tasks=10  --reduce的个数 默认-1

set hive.exec.reducers.bytes.per.reducer=67108864 --默认64M

set hive.merge.tezfiles=false  --合并小文件 默认false

-- set mapreduce.reduce.cpu.vcores=1 --reduce使用的core 默认1  这个参数在set找得到但是官网和hive的文档里找不到,不做考虑

distribute by 

order by 

来点参数说明

hive.tez.cpu.vcores

  • Default Value: -1
  • Added In: Hive 0.14.0 with HIVE-8452

By default Tez will ask for however many CPUs MapReduce is configured to use per container. This can be used to overwrite the default.

mapred.reduce.tasks

  • Default Value: -1
  • Added In: Hive 0.1.0

The default number of reduce tasks per job. Typically set to a prime close to the number of available hosts. Ignored when mapred.job.tracker is "local". Hadoop set this to 1 by default, whereas Hive uses -1 as its default value. By setting this property to -1, Hive will automatically figure out what should be the number of reducers.

hive.exec.reducers.bytes.per.reducer

  • Default Value: 1,000,000,000 prior to Hive 0.14.0; 256 MB (256,000,000) in Hive 0.14.0 and later
  • Added In: Hive 0.2.0; default changed in 0.14.0 with HIVE-7158 (and HIVE-7917)

Size per reducer. The default in Hive 0.14.0 and earlier is 1 GB, that is, if the input size is 10 GB then 10 reducers will be used. In Hive 0.14.0 and later the default is 256 MB, that is, if the input size is 1 GB then 4 reducers will be used.

hive.merge.tezfiles

Merge small files at the end of a Tez DAG.

经过我各种测试 各种参数修改发现最后的结果都是一样的,都是11个。。。。我就觉得不对劲了。那里出错了呢?怎么找呢?

看yarn app

我的appId是1377

而我都已经设置了。

set hive.exec.reducers.bytes.per.reducer=134217728
set mapred.reduce.tasks=5
set hive.merge.tezfiles=true
set hive.tez.cpu.vcores=4

insert overwrite table odsmdmdata.sms_vendor_manage_t
select * from  odsmdmdata.sms_vendor_manage_t

 

 总不可能是我吃饱了没事干,专门骗你们的吧。

经过多方测试发现 你在hive里set 参数了,确实不生效,不知道是不是我这边的环境问题。放弃了。

其实文件生成个数应该就与我上面的那几个参数有关,我这边环境 测不了。能测得动的留个言反馈下。。。

因为我没测出来,但是后面我看到其他人有具体的测试案例可以学习下

Hive 基于Tez引擎 map和reduce数的参数控制原理与调优经验_tez 优化_abcdggggggg的博客-CSDN博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值