ITPub博客

首页 > 数据库 > SQL on Hadoop > hive reduce数量计算

hive reduce数量计算

原创 SQL on Hadoop 作者:joshliu 时间:2021-02-23 17:12:46 0 删除 编辑

场景:

        hive中将textfile的表数据添加到orc表中,使用sql语句大致如下

insert into orders_orc_idx_f11 select * from orders;

1、以上加载hdfs生成多少文件的说明:

        hive客户端数据加载的时候,hdfs底层有多少个数据文件和reduce个数有关,hdfs下的数据文件数等于reduce个数;

        trafodion客户端访问hive textfile表加载到orc表,看执行计划启多少esp, hdfs下的数据文件数等于trafodion启动的esp数;

2、 reduce个数设置

        reduce个数可以设置为固定的,也可以设置为灵活的;

        固定的设置方法:

                方法一:可以再cdh中修改hive配置 mapred.reduce.tasks的数值;

                方法二,在hive客户端 set mapred.reduce.tasks = number;临时设置;

        灵活的方法:

                cdh中设置 mapred.reduce.tasks = -1时,reduce个数是数据文件大小除hive.exec.reducers.bytes.per.reducer得到的结果作为reduce个数;

        hive.exec.reducers.bytes.per.reducer:每个reducer的大小,如果设置为64M,输入文件如果是1653M,那么就起26个个reduce;

        hive.exec.reduce.max:reduce的最大数,如果在mapred.reduce.tasks设置为负值,那么hive将该值作为reducers的最大可能值。当然还要依赖(输入文件大小/hive.exec.reducers.bytes.per.reducer)所得出的大小,作为reducer的个数,hive默认是1099;


textfile的表数据添加到orc表可参考:http://blog.itpub.net/69985104/viewspace-2758770/

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69985104/viewspace-2758788/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-10-09

  • 博文量
    74
  • 访问量
    30978