大数据环境下准确验证计算模型效率的方法

2017-03-22 22:21王理郑春光
电子技术与软件工程 2017年3期
关键词:计算模型开源大数据

王理++郑春光

摘 要随着开源大数据技术的快速发展,许多新的大数据技术的得到商用,大数据计算模型更是发展迅速。传统认为,大数据具有3V特性,即Volume(海量)、Velocity(高速)和Variety(多样),同时大数据还面临Value(价值)和Veracity(精确)的挑战。如何客观地比较不同数据计算模型效率,即大数据测试基准的选择,成为一个重要的研究课题。事务性能管理委员会(TPC)是目前最知名的数据管理系统评测基准标准化组织他们发布的多款基准测试案例,在业内具有很高的认可度。Apache开源社区针对大数据架构也发布了多款性能测试用例,如TestDFSIO、TeraSort。为了提出一种准确验证大数据计算模型效率的方法,本文将在分析总结现有成果的基础上,进一步对比现有的大数据测试基准,然后重点讨论TPC-DS测试基准和BigBench测试。本文提出的方法,能够准确的验证大数据计算模型效率。

【关键词】大数据 开源 基准测试 计算模型

大数据技术给传统计算机技术带来了很大的冲击,处理问题的原理和技术都有别于传统技术,尤其是互联网时代,数据呈现非结构化、动态、海量、实时性强等特点,因此在获取、存储、处理、展示数据方面都跟以往有很大不同。某大型互联网公司的信息化建设则是个例子,在其建设初期未考虑到数据的爆发式增长,采用传统信息化架构进行建设,当业务逐年增加,原架构已经无法存储如此多的数据,进行平台扩容成本相当昂贵,且存在数据丢失风险,更重要的是基于海量数据无法做出实时商业分析,传统计算方法在处理TB级数据时游刃有余,但是当数据量达到PB级别,系统经常无法做出响应。本研究基于当下流行的大数据计算框架和国际公认的测试标准,选取一个具有代表性的案例,提供一套检测方案,该方案能够验证计算框架的效率,为计算框架选型提供解决之道。

1 基准案例选取

进行大数据计算模型效率检测应当分为两个方面,一个是Hadoop平台的测试,这个需要TestDFSIO和TeraSort,另一个是依赖于Hadoop的计算模型测试,如Spark,Hive等,这个需要TPC-DS和BigBench,一般来说Hadoop平台测试时必须的,计算模型的测试需要根据具体业务进行选择,但是一般Hive和Spark都是必须的,上述两个方面的测试基本覆盖了大数据环境的所有指标,因此本文将针对这两个方面,全面进行大数据平台数据模型计算效率测试。

TPC-DS由星型、雪花型等多维数据模式组成。它包含了17张纬度表,7张事实表。在运行过程中由99个SQL查询组成,基本涵盖了SQL99和2003的核心部分和OLAP。该测试案例支持对大数据集的统计、联机查询、报表生成、数据挖掘等复杂应用,测试用的数据和值是有倾斜的,保持和真实数据一致性。因此TPC-DS是与真实场景极其类似的测试集,当然该测试案例的难度也很大。Hadoop等大数据分析技术也是对海量数据进行大规模的数据分析和深度挖掘,也包含交互式联机查询和统计报表类应用,同时大数据的数据质量也较低,数据分布是真实而不均匀的。因此TPC-DS成为客观衡量多个不同Hadoop版本以及SQL on Hadoop技术的最佳测试集。

TestDFSIO、TeraSort能够对MapReduce进行稳定性和效率测试,这是Apache为Hadoop专门开发的测试案例,这些案例已经在业内得到认可。

选取测试案例完成后,应当进行大数据环境的搭建,基于当前业务场景需求,搭建类似或同比例的实验环境是非常重要的,这为将来进行产业化提供方便,真实的场景和真实的基準案例,满足这两个条件效率研究才具有科学性。在软件方面,选用开源的Hadoop平台作为基本软件,其余各发行版进行对比。

本文提供的一套软硬件方案,能够迅速准确的验证数据模型计算效率。该方法通过两套基准测试案例,综合对比,能够帮助客户在计算选型上做出决策,为后续业务开展提供可靠地保障。

2 测试方法

基于上述描述,为了验证该方法,首先需要搭建大数据环境,包括:

(1)准备千兆交换机一台,4台服务器构成1+3的Hadoop集群,其中一台Namenode,3台Datanode。

(2)部署Hadoop,HBase,Spark等计算模型。

(3)在集群上分别运行TestDFSIO、TeraSort、TPC-DS和BigBench基准测试。

(4)在3台datanode上运行nmon,实时统计3台服务器的资源消耗情况,关注CPU利用率、网络吞吐率、硬盘IO以及磁盘空间消耗等指标,将每个测试案例的时间记录下来。

除此之外,应当保证当测试不同计算模型效率时,不能修改集群参数例如内存大小、Map/Reduce数量等;保持原集群的原状态例如节点个数,节点角色分配等;物理配置的一致性,例如网络条件、存储大小等。

分析计算模型效率有两个维度,一个是稳定性,在所有的测试案例中,可以分析每个计算模型能够得出结果的案例个数,这样可以得到该计算模型的覆盖面。另一个是计算效率,在处理同一个案例时,每个框架的计算时间。目前大数据计算框架较多,没有一个完美的框架,需要根据具体业务进行选择,在稳定性和计算效率之间选择一个,同时也可以在一个业务上并行多个计算框架,针对不同的业务选择不同框架,这些也是在实践中常用的方法。

3 结论

本文基于当前流行的大数据计算框架,提出了一套完善的计算模型效率测试方法:根据业务选择测试基准案例,定义测试方向,在此基础上搭建硬件环境,选择最合适的一种或几种计算模型,这要综合考虑稳定性和效率。针对不同业务可以同时运行多个计算模型,甚至一个业务可以通过几个计算模型进行服务。这套完善的选择方法能够使大数据环境下计算模型的效率选择变得更加简单准确。

作者简介

王理(1989-),女,山东省济南市人。硕士学位。现为山东商业职业技术学院助教。主要研究方向为个性化推荐算法。

作者单位

山东商业职业技术学院 山东省济南市 250103

猜你喜欢
计算模型开源大数据
五毛钱能买多少头牛
方法论视野下的计算思维
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
公路碳排放计算研究的发展
开源计算机辅助翻译工具研究