免费注册
帮助文档(华北一、二)

  • Hive测试使用了TPC-H(http://www.tpc.org/tpch)的数据源和测试sql进行测试。在一次测试中,会分别执行22个hive文件。这些sql基本包括在日常业务中会使用到的select,join,sort,uniq,子查询等。由于涉及到的sql很多,所以这里的单次测试时间取22条sql的总耗时。对于每条个hive文件的每次测试执行时间可以查看附件。

    数据源使用TPC-H提供的方法生成。每次生成8张数据表,总数据量从10GB开始,每次增加10GB直至100GB。生成数据和测试代码如下:

    tpch-hive数据生成和测试代码:

     
    #!/bin/bash 
    size=$1'0G' 
    cp -R dbgen dbgen$size 
    cd dbgen$size 
    ./dbgen -s ${1}0 
    mkdir tpch$size 
    mv *.tbl tpch$size/ 
    for j in customer lineitem nation orders part partsupp region supplier 
    do         
      mkdir tpch${size}/$j/         
      mv tpch${size}/$j.tbl tpch${size}/$j/ 
    done 
    /home/hadoop/bin/hadoop fs -copyFromLocal  tpch$size 
    /tpch$size $hadoop fs -mv /tpch${size} /tpch 
    cd ../TPC-H_on_Hive/tpch 
    for f in `ls -1 --color=never q*.hive` 
    do         
      echo $size $f         
      time hive -f $f > $size-$f.log 2>&1 
    done

    对4个集群的测试结果如下表

    ● 表4.1 hive测试结果

    耗时(s)

    处理速度(MB/s)

    B2

    B2-x

    D1

    D1-x

    B2

    B2-x

    D1

    D1-x

    10G

    6387

    4710

    5880

    5384

    1.60

    2.17

    1.74

    1.90

    20G

    9256

    6124

    8665

    6495

    2.21

    3.34

    2.36

    3.15

    30G

    12207

    7518

    11443

    7635

    2.52

    4.09

    2.68

    4.02

    40G

    15546

    8717

    13964

    9141

    2.63

    4.70

    2.93

    4.48

    50G

    17807

    9934

    16562

    10622

    2.88

    5.15