TPC-DS安装测试hive

目标:通过TPC-DS测试hive,内网安装tpcds,执行sql47对hive进行测试。


参考链接:大数据测试解析,

                  内网安装tpcds,

下载链接:

                  hive-testbench-hdp下载

                  TPCDS-Tools.zip下载


问题:外网可直接下载源码,make,然后就可以使用,但是在内网中无法make成功。

准备:除需测试的环境外,建一个相同系统的可联网的环境,可虚拟机创建一个。

步骤:

      1、下载hive-testbench-hdp源码(可用git clone),并下载TPCDS_Tools.zip包(更名为tpcds_kit.zip,后续会用上)。

      2、虚拟机需要安装(缺少什么装什么):

            gcc,yum -y install gcc gcc-c++安装;

            maven,以来python和java环境;

      3、在虚拟机中进入到hive-testbench-hdp3/tpcds-gen目录下,make,等执行完毕后,进入目录 “/hive-testbench-hdp3/tpcds-gen/target”,可以找到 “tpcds-gen-1.0-SNAPSHOT.jar”文件,此文件是内网无法产生最为需要的。

      4、将整个hive-testbench-hdp3文件上传到内网环境中,此时可开始进行测试。

      5、产生数据:./tpcds_setup.sh {size} ,size表示数据大小,单位是GB。一般默认数据保存在/tmp/tpcds下,也可在命令后指定目录(生成数据时要进入到hive,如图image-su-hive)。查看数据大小,命令是

hdfs dfs -du -h /tpcds/1000。


image-su-hive
image--hive

      6、进行sql查询:hive -database tpcds_bin_partitioned_orc_500 -f query47.sql。tpcds_bin_partitioned_orc_500为相应的数据库,生成数据后会将数据写入数据库中。

image--database

      7、为了打印日志,想了一个很笨的办法。在/hive-testbench-hdp3/sample-queries-tpcds目录下写一个shell脚本“execute_sql.sh”,内容是:

      #!/bin/bash

      hive -database tpcds_bin_partitioned_orc_500 -f query47.sql

新建txt文件用来保存日志,

nohup ./{sh_name} > result.txt  2>&1&

利用nohup 执行脚本,并将输出进行重定向,运行完后可以查看result.txt。

     8、生成不同的数据量进行sql负载查询,考察相关hive性能。


拓展:

      备注1,进入到hive-testbench-hdp3/tpcds-gen目录下,查看Makefile(vim Makefile),注释掉这两行(Makefile中需要下载TPCDS_Tools.zip,并改为tpcds_kit.zip,内网中无法联网,所以无法make成功)。

image--Makefile

      备注2、查看tpds_setup.sh脚本,大概是60行的位置。内网无法通过make编译生成相应的jar文件,所以执行脚本产生数据会失败。

image--tpcds_setup.sh

你可能感兴趣的:(TPC-DS安装测试hive)