hive tpcds-benchmark 测试

本文介绍了如何使用GitHub上的Hortonworks/hive-testbench进行Hive的性能测试,特别是针对tpcds基准测试。测试数据集的创建涉及数据粒度、格式选择(如ORC或parquet)、数据库名和存储位置的设定。执行查询部分提到了几个脚本,如query-tez-container-hdfs-with-scale-beeline.sh,用于在不同环境(如HDFS或BOS)下运行tpcds查询并记录日志。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 软件

Hive 的性能测试,我使用的是 GitHub - hortonworks/hive-testbench,可以自行看文档进行构建,构建后,把整个文件传输到服务器上执行。
可以从 hive-testbench-2023-02-24.tar.gz 下载已经编译的包,本包里包括相关的一些命令工具。

本软件可以执行 tpcds 和 tpch 的测试。本文以 tpcds 为例。

2. 创建测试数据集

2.1 默认构建

如下面的命令可以构建,3为数据集的粒度,单位是G。是原始数据的大小,不是压缩后数据的大小。

cd hive-testbench
tpcds-setup.sh 3

2.1 数据格式

默认是 ORC,如果想改为其他格式,可以执行以下语句

export FORMAT=parquet

2.3 数据库名

数据库名在 tpcds_setup.sh 中,如下所示。

DATABASE=tpcds_hdfs_${FORMAT}_${SCALE}

如果想同时构建存储在不同系统的 5000 粒度的测试,则每次构建前需要修改 DATABASE 的名字。如构建 bos 的 5000 粒度的测试前,修改 DATABASE=tpcds_bos_${FORMAT}_${SCALE},则执行 sh tpcds-setup.sh 5000 的数据库名为 tpcds_bos_5000_orc。

2.4 数据库地址

默认建的数据库地址在 hive.metastore.warehouse.dir 下的目录中,如果想在其他目录中,如 bos,则需要先创建数据库,创建数据库时指定目录。

create database tpcds_bos_5000_orc location 'bos://xxxxx/tpcds_bos_5000.db';

再执行 sh tpcds-setup.sh 5000

3. 执行查询

cd hive-testbench/sample-queries-tpcds

本目录下有一些脚本,可以方便测试。也可以照着例子写自己需要的测试。

3.1 query-tez-container-hdfs-with-scale-beeline.sh

后面加 scale 参数,数据库格式为 tpcds_hdfs_orc_${SCALE}。连接 HiveServer 执行 tpcds query1.sql 到 query99.sql。日志输出到 logs 目录。

3.2 query-tez-container-bos-with-scale-beeline.sh

和 3.1 一样,数据库时 tpcds_bos_orc_${SCALE}。

3.3 query-tez-container-hdfs-with-scale.sh

使用 hive -e 的方式执行 tpcds query1.sql 到 query99.sql。日志输出到 logs 目录。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值