zoukankan      html  css  js  c++  java
  • 2、小文件问题解决

    避免mapper开启过多,导致导致的资源错配,

      1、hive小文件问题

      2、mr编程小文件问题

    1、hive中的小文件问题

    通过shell,产生100个小文件,目录 one100

    [centos@s101 ~/one00]$ for((x=1;x<=100;x+=1)); do echo $x,tom$x,$x > $x.txt; done

    建表

    create table one100(id int,name string,age int)row format delimited fields terminated by ',';

    load数据到表one100中

    load data local inpath 'one00/*' into table one100;

    配置:

    set mapred.max.split.size;

    默认256000000,每个map切片的最大值

    set mapred.min.split.size.per.node;

    默认1,每个节点切片的最小值

    set mapred.min.split.size.per.rack;

    每个机架切片的最小值

    set hive.input.format;

    默认org.apache.hadoop.hive.ql.io.CombineHiveInputFormat,hive输入格式

    注意:第一个配置决定最终切片大小,间接决定mapper数,测试时,当以非本地模式运行时,才能看出实际有多少个map数

    2、hadoop通过CombineTextinputFormat解决小文件问题

    //设置组合文件输入格式,放置大量小文件。
    job.setInputFormatClass(CombineTextInputFormat.class);
    CombineTextInputFormat.setMaxInputSplitSize(job , 200);  //聚合文本输入个数的最大切片大小,单位字节

      hadoop中默认是 TextInputFormat

    渐变 --> 突变
  • 相关阅读:
    [Codeforces 933A]A Twisty Movement
    [Codeforces 100633J]Ceizenpok’s formula
    [HAOI 2011]向量
    [JSOI 2008]最大数
    [Codeforces 750E]New Year and Old Subsequence
    [BZOJ 3439]Kpm的MC密码
    [TJOI 2013]单词
    [SCOI 2011]糖果
    [BZOJ 2160]拉拉队排练
    [AtCoder arc090F]Number of Digits
  • 原文地址:https://www.cnblogs.com/lybpy/p/9710643.html
Copyright © 2011-2022 走看看