文档章节

使用TPC-H对Pig测试

youting
 youting
发布于 2014/12/08 22:17
字数 1141
阅读 41
收藏 0
点赞 0
评论 0

在做完Running TPC-H on Hive后,又紧接着使用TPC-H对Pig进行了测试。有了对Hive测试的基础,在Pig上进行测试就相对简单多了,基本上都是“拿来主义”,都是现成的。需要使用的8个测试表以及测试数据都已经在Hive测试中生成过了,所以在Pig上就跑一遍测试程序看看结果就可以啦。下面,就来说说TPC-H在Pig上测试的具体步骤。

 

系统环境:

    6个结点,ubuntu01为master结点,ubuntu02-ubuntu06为slave结点

    Ubuntu 12.04 LTS

    Hadoop-1.2.1

    Hive-0.13.1

    tpch_2_14_3

一、安装配置

1、下载TPC-H源码tpch_2_14_3.zip,用来生成测试数据

      网址:http://www.tpc.org/tpch/default.asp

2、将TPC-H压缩包解压,本文中解压目录为:/opt/

     命令:ubuntu@ubuntu01:~$ unzip tpch_2_14_3.zip -C /opt/

3、进入tpch目录下的dbgen子目录下,将makefile.suite文件拷贝为makefile,并对makefile进行修改

     命令:ubuntu@ubuntu01:/opt/dbgen$ cp makefile.suite makefile

     命令:ubuntu@ubuntu01:/opt/dbgen$ gedit makefile

     在makefile文件中的相应行进行如下修改:CC      = gcc

     # Current values for DATABASE are: INFORMIX, DB2, TDAT (Teradata)  

     #                                  SQLSERVER, SYBASE  

     # Current values for MACHINE are:  ATT, DOS, HP, IBM, ICL, MVS, 

     #                                  SGI, SUN, U2200, VMS, LINUX, WIN32   

     # Current values for WORKLOAD are:  TPCH 

     DATABASE= SQLSERVER  

     MACHINE = LINUX  

     WORKLOAD = TPCH 

4、修改dbgen文件夹下的tpcd.h文件

     修改其中的SQLSERVER段:

     #ifdef  SQLSERVER
     #define GEN_QUERY_PLAN        "EXPLAIN;"
     #define START_TRAN                "START TRANSACTION;\n"
     #define END_TRAN                "COMMIT;\n"
     #define SET_OUTPUT                ""
     #define SET_ROWCOUNT                "limit %d;\n"
     #define SET_DBASE                "use %s;\n"
     #endif

5、执行makefile

     命令:ubuntu@ubuntu01:/opt/dbgen$ make

6、生成需要用的数据

     命令:ubuntu@ubuntu01:/opt/dbgen$ ./dbgen -s 1

     说明:-s 代表数据规模因子,1 代表产生1G的数据量

     在当前文件夹下生成的8个.tbl文件就是我们所需要的数据。

7、建立表,以及向表中加载数据

     在TPC-H_on_Hive/data目录下有个tpch_prepare_data.sh文件,通过查看这个文件中的语句可知,运行这个命令可以在HDFS上建立我们所需要的8个数据表,并且将本地产生的数据文件拷贝到HDFS中。

     命令:ubuntu@ubuntu01:/opt/TPC-H_on_Hive/data$ ./tpch_prepare_data.sh

--------------------------------分割线-------------------------------------

     如果已经进行过Hive测试的话,上边7个步骤都是可以省略的,就像我一开始说的,Pig上边的这套和Hive很大程度上是通用的 ( 不了解的可以看我的上一篇博客 )。从这开始,就要进入Pig测试正题了。

二、Pig测试

     8、下载TPC-H_on_Pig

     网址:https://issues.apache.org/jira/browse/PIG-2397

     下载之后,同样解压到/opt/目录下,将之前生成的8个表拷贝到TPC-H_on_Pig文件夹中。

     9、测试

     Pig测试命令:ubuntu@ubuntu01:/opt/TPC_H_on_Pig/$ ./run_tpch.sh hdfs://ubuntu01:9000/tpch/ hdfs://ubuntu01:9000/user/ 5

     逐个解释一下每个参数的含义:

     第一个:./run_tpch.sh,这个就不多说了;

     第二个:hdfs://ubuntu01:9000/tpch/ 这是输入数据的路径,但要注意的是这个路径是HDFS上的路径;

     第三个:hdfs://ubuntu01:9000/user/ 这是输出数据的路径,同样也是HDFS上的文件路径;

     第四个:5 这个参数表示的是reducers的个数,可以根据自己系统环境的情况来决定

     运行这个命令就万事大吉了,但由于测试时间可能会达到3个小时左右,所以最好将terminal中打印的信息输入到一个文本文件,这样可以方便查看。实现这种输出其实很简单,只需要使用tee命令就可以,在这里我们采用追加的方式向文本文件输出,命令如下:

命令:ubuntu@ubuntu01:/opt/TPC_H_on_Pig/$ ./run_tpch.sh hdfs://ubuntu01:9000/tpch/ hdfs://ubuntu01:9000/user/ 5 | tee -a q1~q22_Pig.txt

      其中,q1~q22_Pig.txt 代表输出文本文件名。

三、总结

     由于之前对Pig也是十分不了解,所以就跑去看README。对README里边的命令解释真心无语。原文中对于单个SQL脚本文件的给出的运行命令是

     ${PIG_HOME}/bin/pig $hadoop_opts -param input=<input_dir> -param output=<output_dir> -param reducers=<reducers> -f queries/<script_name>

     其他参数都好理解,唯独-param这个参数我是真不明白啥意思。看了一天都毫无进展,实在不了解它到底代表什么。就在准备撒手不干的时候,抱着试一试的心态就直接使用了 '-param',结果还真是这样,直接用,当场就一脸黑线啊有木有,可怜我一整天的时间啊,都浪费在这上面了。以后就吸取教训了,管他知不知道,都试试,没准就碰上了呢。

© 著作权归作者所有

共有 人打赏支持
youting
粉丝 1
博文 6
码字总数 5088
作品 0
南京
程序员
使用TPC-H对Hive测试

最近由于工作要求,需要对Hive进行一下测试。在一篇论文中看到使用TCP-H,上网查了一下还算是比较靠谱的一个基准测试程序,所以决定拿来一试。网上关于这方面的博客貌似很少(能力有限,没找...

youting ⋅ 2014/12/03 ⋅ 4

使用TPC-H对Hive测试

最近由于工作要求,需要对Hive进行一下测试。在一篇论文中看到使用TCP-H,上网查了一下还算是比较靠谱的一个基准测试程序,所以决定拿来一试。网上关于这方面的博客貌似很少(能力有限,没找...

vieky ⋅ 2014/12/05 ⋅ 0

数据库性能测试工具--HammerOra

HammerOra 工具是基于TCL(Tool Command Language)语言的数据库性能测试工具。首先HammerOra是一款负载测试工具;其次HammerOra目前支持Oracle, MySQL和HTTP应用(web应用); 然后HammerOra是开源...

匿名 ⋅ 2009/09/22 ⋅ 0

服务器性能指标:拨开服务器评测体系迷雾

用户总希望有一种简单、高效的度量标准,来量化评价服务器系统,以便作为选型的依据。但实际上,服务器的系统性能很难用一两种指标来衡量。包括 TPC、SPEC、SAP SD、Linpack和HPCC在内的众多...

shezjl ⋅ 2015/06/15 ⋅ 0

SQL on Hadoop 和 SQL off Hadoop 介绍

  【IT168 资讯】最初,Apache Hadoop被视为是批处理非结构化数据的平台。从本质上讲,Hadoop是一种存储和处理大量数据的廉价又可靠的方式,吸引了更多的客户。   随着时间的推移,Data ...

it168网站 ⋅ 2017/11/07 ⋅ 0

通关TPC-DS,中国数据库领域首破纪录诞生!

  【IT168 评论】“不服跑个分?”是一个老梗了。虽然,我们不能盲目崇信跑分,但跑分的确是一种比较直观反映软硬件性能的方式。不过,相比手机跑个分,数据库性能测试却要复杂的多……  ...

it168网站 ⋅ 05/15 ⋅ 0

腾讯云数据库团队:Greenplum 简单性能测试与分析

如今,多样的交易模式以及大众消费观念的改变使得数据库应用领域不断扩大,现代的大型分布式应用系统的数据膨胀也对数据库的海量数据处理能力和并行处理能力提出了更高的要求,如何在数据呈现...

⋅ 2017/12/18 ⋅ 0

GreenPlum简单性能测试与分析

如今,多样的交易模式以及大众消费观念的改变使得数据库应用领域不断扩大,现代的大型分布式应用系统的数据膨胀也对数据库的海量数据处理能力和并行处理能力提出了更高的要求,如何在数据呈现...

不最醉不龟归 ⋅ 2016/11/04 ⋅ 0

GreenPlum简单性能测试与分析

版权声明:本文由黄辉原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/195 来源:腾云阁 https://www.qcloud.com/community 如今,多样的交易模式以及大...

偶素浅小浅 ⋅ 2016/11/11 ⋅ 0

Oracle数据库创造TPC-C性能测试世界纪录

权威性能测试组织TPC美国时间12月3日确认,Oracle公司前一天提交的SPARC T3-4 Supercluster以tmpC(每分钟处理的事务数)30 249 688创造了TPC-C性能测试的新纪录。原记录由IBM Power 780 Ser...

红薯 ⋅ 2010/12/05 ⋅ 11

没有更多内容

加载失败,请刷新页面

加载更多

下一页

LVM

LVM: 硬盘划分分区成物理卷->物理卷组成卷组->卷组划分逻辑分区。 1.磁盘分区: fdisk /dev/sdb 划分几个主分区 输入t更改每个分区类型为8e(LVM) 使用partprobe生成分区的文件:如/dev/sd...

ZHENG-JY ⋅ 17分钟前 ⋅ 0

彻底删除Microsoft Office的方法

参照此链接彻底删除Office https://support.office.com/zh-cn/article/%e4%bb%8e-pc-%e5%8d%b8%e8%bd%bd-office-9dd49b83-264a-477a-8fcc-2fdf5dbf61d8?ui=zh-CN&rs=zh-CN&ad=CN......

Kampfer ⋅ 32分钟前 ⋅ 0

大盘与个股之间关系

大盘走多:积极出手 顺势加码 大盘走空: 少量出手 退场观望 大盘做头:逆势减码 少量操作 大盘做底 : 小量建仓 小量试单

guozenhua ⋅ 33分钟前 ⋅ 0

Day16 LVM(逻辑卷管理)与磁盘故障小案例

lvm详解 简述 LVM的产生是因为传统的分区一旦分区好后就无法在线扩充空间,也存在一些工具能实现在线扩充空间但是还是会面临数据损坏的风险;传统的分区当分区空间不足时,一般的解决办法是再...

杉下 ⋅ 40分钟前 ⋅ 0

rsync实现多台linux服务器的文件同步

一、首先安装rsync,怎样安装都行,rpm,yum,还是你用源码安装都可以。因为我用的是阿里云的ESC,yum install rsync就ok了。 二、配置rsync服务 1.先建立个同步数据的帐号 123 groupadd r...

在下头真的很硬 ⋅ 53分钟前 ⋅ 0

前端基础(三):函数

字数:1685 阅读时间:5分钟 函数定义 在最新的ES规范中,声明函数有4中方法: -函数声明 -函数表达式 -构造函数Function -生成器函数 1.函数声明 语法: function name([param[, param2 [....

老司机带你撸代码 ⋅ 今天 ⋅ 0

Java虚拟机的Heap监狱

在Java虚拟机中,我是一个位高权重的大管家,他们都很怕我,尤其是那些Java 对象,我把他们圈到一个叫做Heap的“监狱”里,严格管理,生杀大权尽在掌握。 中国人把Stack翻译成“栈”,把Hea...

java高级架构牛人 ⋅ 今天 ⋅ 0

Spring MVC基本概念

只写Controller

颖伙虫 ⋅ 今天 ⋅ 0

微软重金收购GitHub的背后逻辑原来是这样的

全球最大的开发者社区GitHub网站花落谁家的问题已经敲定,微软最终以75亿美元迎娶了这位在外界看来无比“神秘”的小家碧玉。尽管此事已过去一些时日,但整个开发者世界,包括全球各地的开源社...

linux-tao ⋅ 今天 ⋅ 0

磁盘管理—逻辑卷lvm

4.10-4.12 lvm 操作流程: 磁盘分区-->创建物理卷-->划分为卷组-->划分成逻辑卷-->格式化、挂载-->扩容。 磁盘分区 注: 创建分区时需要更改其文件类型为lvm(代码8e) 分区 3 已设置为 Linu...

弓正 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部