- ?
自测一下,你对大数据平台架构还有多少知识是不知道的
Kerwin
展开
马总说过这是一个DT的时代,一个从IT到DT转变的时代。确实这几年到处都能听到诸如“云计算”、“大数据”、“上云”的谈论,确实随着云计算的兴起,依托于相对低成本、高稳定性的云设施构建平台的成本越来越低,越来越多的公司都在推数据相关的平台、产品。如阿里、京东、百度、腾讯,以及一些打着大数据旗号的创业公司都有出自己的数据平台和产品,用户依托于平台确实大大降低了数据处理、使用的难度,降低了从数据挖掘价值的时间成本。于此同时,平台架构的变迁也成为备受关注的问题。今天我们就来看看有哪些大数据的平台架构你不知道。
489034603
一、首先是数据方面(大数据时代以数据为主导):如何进行模型分层?一般模型分层计算程序,以哪种语言为主?
从数据仓库 或 大数据平台 的角度来讲,数据的分层,大体有两种思路:
a) 基础数据层:主要避免后续数据应用层的大变更。一般面向各业务系统或数据源集,利用业界较为先进的数据模型(如FS-LDM),按数据的特性(即数据驱动)进行数据的整合,以形成相对稳定的基础数据模型层。
b) 应用数据层:一般是面向各应用需求 或 业务用户,利用业界较为合理的数据模型理念(如星型\维度模型),按需求的要求(即需求驱动)进行数据的分布,以形成统计方便、展示友好、满足需求的应用数据模型层。
在数据流向 或 数据处理的过程中,所使用到的语言或方式可能更多的是以下两大类:
a) 基于传统数据库:大多采用ETL的方式,进行数据的抽取、清洗、整合;这中间,可能会利用到类似DataStage,Kettle等工具,用得最多的,可能就是各数据库提供的SQL语言了,SQL语言使用简单、方便、学习门槛较低,且易于掌握。
b) 基于大数据平台:大多采用的开源的工具 或 语言,如Hive, Hbase , Spark,Python等。这里面,可能使用更多的是Hive 与 Python, 这两个工具学习简单,易于掌握,并且,进行数据处理时,也更直观、方便。
二、架构方面:在架构过程中,一般以7点展开,如:
a. 存储和计算都基于HIVE;
b. GREENPLUM作为HIVE的“cache”存在,供用户做一些小数据的快查询,报表存储;
c. 调度:和canaan框架进行整合,支持用户快速新增任务,并自动导入任务依赖;
d. 主数据:保存了数据仓库元数据信息,供用户查询和系统内部各个模块交互;
e. ACL:构建了数据仓库数据访问权限控制,包括用户权限申请、审批者审批、数据赋权等;
f. 传输;
g.监控:由于任务数量增长较快(2000+),运维已经是个问题此外,需花了较大精力做了可视化的工作:
有些朋友不认为Hive是一个数据库,认为Hive是一个类似传统数据库的SQL引擎的工具,虽然Hive有自带的元数据存储库,但这个库里面,也只是存放了Hive工具为完成用户提交的请求而必须要的Hadoop的元数据信息 及两者的映射关系数据;并没有存放用户的任何数据,用户的数据还是存放在Hadoop或Hbase等文件系统或数据库中。
在以上这7点中,最难的就是:数据治理 与 系统监控 这两块
三、数据应用:数据一般以哪种形式,呈现给用户?技术上是通过哪些策略实现?
数据应用主要分成两大类:
a) 面向业务人员:一般是自行研发一个界面美观的WEB应用,调用业界成熟的工具(如MSTR,COGNOS)的API,实现数据展示给终端用户进行查看。
b) 面向IT专业人员:一般是直接从数据库/文件系统中,借助SQL或其它的开源工具,直接查询、统计、分析、挖掘;这样会更直接、更方便。
以上这些可供大家测试一下,有哪些知识是自己还不熟练的,可以再学习,个人观点不喜勿喷,谢谢大家。
另外,如果小伙伴想学习大数据技术,可以加下图片下面的交流群,群里有很多学习视频都可以下载,而且每天大数据架构师马士兵老师都会在群里分享大数据的技术。。
- ?
8大数据,揭秘你搞不懂的体测
李晓筠
展开
拿到体测表之后,萌萌指着一项又一项数据问她的教练“这是啥意思?”
初入健身房,体测之后,我们对于自己的身体就会更加了解,也让后面的训练更有了针对性。如果你是一个健身老炮,那么定期的体测可以监控你的训练成果。
去健身房,相信你的教练会耐心的讲解给你每一项体测数据,但是或许因为初次到了新的环境,好奇心让你根本无法专注在体测这件事儿上。导致半个小时过去了,还是搞不懂体测到底是个什么鬼。
赛普君替辛苦的教练们总结了一下8个常见的体测数据,干货指数5星,可收藏可分享!
8个数据,教你看懂健身房体测报告
1.体重
这是我们最常见的一项数据了,谁家里还没有一个体重秤呢。体重分为毛体重(穿衣穿鞋)和净重(男的只穿内裤,女的只穿内衣内裤)。称体重最好在每天的同一个时间段测量,因为毛体重因为着装的变化,会影响数据,所以建议称净重。
称体重对于增肌初期和减脂初期的朋友们都是有参考意义的,因为如果你的训练和饮食足够科学,会有很明显的数据变化。我建议大家吃完火锅第二天早上立马测体重这种事儿就省了吧,无非就是去一趟厕所的事儿。
2.骨骼肌
骨骼肌包含在肌肉量内,但不等于肌肉量,通常附着于骨所以叫骨骼肌。
这里有一份数据,大家可以参照自己的骨骼肌含量是否在标准线。
我们可以通过抗阻力训练,配合科学的饮食和休息,让它的数值达到标准线以内,让我们有健康的身体和良好的体型。
3.身体水分含量
无论是男人还是女人,我们都是水做的。因为身体60%+的重量都是由水分来组成的。当然了这些数据都是受人的性别、年龄和胖瘦这些因素影响的。如果你经常给别人做体测,你会发现一个规律,那就是年长肥胖的人身体水分含量偏低。
无论是肌肉发达的人还是体脂肪很高的人,都需要及时充分的补水,参照《运动中你真的会喝水补液吗?丨赛普经88讲》不知道什么是体脂肪?往下看!
女人是水做的
4.体脂肪
体脂肪是人体脂肪所占的重量,是总体的重量。人体的脂肪就是人类在极端恶劣环境下维持生命最好的能源,人类进化几百万年,绝大部分时间都处于吃不饱饭的状态下,自然会进化出极力储存脂肪的生理机制。
所以没有必要谈脂肪色变,为了看到腹肌那么你就要努力减少体脂肪,如果只是为了维持更为健康的状态,体脂肪不宜超过体测数据表的安全区间(因身高体重而异)。
(具体数值因人而异)
5.体脂百分比
体脂百分比就是我们总说的体脂率,但是体测数据表上不怎么用体脂率这个词,就是体脂肪的重量占身体总重量的百分比数值。
体脂率也是我们判断一个人是否肥胖的标准之一:
能看到清晰腹肌的体脂率一般不会超过百分之十几(有的人腹肌发达,数值可以偏高),参照下图:
6.身体质量指数
又叫Body Mass Index,所以我们也可以称之为BMI,这个国际化的衡量人胖瘦程度的标准并不适用于健身的人和老人、小孩儿。
如果你是一个强壮的肌肉型训练者,很有可能测试结果是偏肥胖,所以大可以跳过不看。但是对于初次体测还未开始健身的你,还是有参考价值的。
7.腰臀比
腰臀比是你的杨柳细腰和臀部围度的比值,腰臀比是一个人是否健康的参考,健康女性腰臀比小于0.85,健康男性腰臀比小于0.9。在增大臀围的同时,我们要减小腰围,才会让身体更为健康。《中国成人超重和肥胖症预防控制指南》明确规定,男性腰围≥85厘米,女性腰围≥80厘米即为超标。
一项发表在《新英格兰医学杂志》的涉及欧洲9个国家超过35万人的研究发现,与上面的BMI相比,腰臀比可以更准确地衡量一个人的健康标准。研究显示,腰臀比每增加0.1,男性早亡几率增加34%,女性增加23%。
8.基础代谢
基础代谢是人体为了维持生命状态,所作出的最低消耗。也就是说我们什么都不做,在沙发上北京瘫,眨眼、呼吸所需要的基本消耗就是基础代谢。
但是人的肌肉量越大,消耗量就会越大。所以想要减脂的人就要努力的提升自己的肌肉量,增大基础代谢,让自己躺着就瘦。
赛普深圳校区基础实践导师胡哲霆
然而普通人去健身房的状态,并非测试基础代谢最佳状态。因为影响基础代谢的因素太多了:吃撑了、情绪变化、跑了几步等等都会影响数据的表现。它有一定的说明意义,但是不要迷信。你的教练也会建议你多次对比测试,因为多次对比才会减小误差。
体测数据没有那么神乎其神,相信任何一个真诚的教练都不会对这个结果过分夸大,所以你也不要总是抱着体测表耿耿于怀。作为体测的一部分,它的结果不会过多的影响你的运动能力,但是却反映了你过去的日子是如何对待自己的身体。
而今后的每一次体测都可以告别一次过去的自己,这个过程,对于一个要认认真真训练的你来说,才是最有意义的!
赛普君本次的分享就是为了把体测机这件事扒个明白,教练朋友们也可以直接收藏,再有会员宝宝不清楚的话直接发本文过去就好,方便了彼此,也节约了更多的时间专心训练,因为体测是0,行动才是1!
你在意体测仪上面的数据吗?欢迎在下方评论区留言,赛普君送你进精选。
如果你觉得这篇文章还不错请分享给好友,你的分享就是我们的动力!
- ?
大数据时代,计量服务将何去何从?
雨在下
展开
大数据的处理分析,正成为新一代信息技术融合应用的结点,而大数据之于计量服务领域将得到怎样的应用,又会起到怎样的影响。今天我们将从此点出发,谈谈计量服务领域的大数据变革。
大数据与企业隐私
随着国家经济和信息技术的迅猛发展,各行各业的数据量都在迅猛增长。近10年,电子商务、共享经济如淘宝、京东、滴滴、ofo等企业的发展,让大数据在中国落地生根,具备了市场前提。
海量的、不同来源、不同形式、包含不同信息的数据经过处理,可以被整合、分析,原本孤立的数据变得互相联通,这让人们通过数据分析,发现小数据时代很难发现的新联系、新规律创造出新价值。
而且大数据通过多维度的数据可以实现精准预测,定向推送,发现看似不起眼的矛盾。
举个例子:能源计量中电力计量是一个重要的环节,企业生产过程中不发生大的工艺更改、流程变化或技术革新,其用电量应该保持一定的水平。根据企业所报的产量、供电部门查询到的用电量,再结合行业对标的数据,是比较容易判断这个企业的生产水平的,如果相关数据偏差过大,就有理由相信企业所报的数据存在一定虚假。
其实,在大数据背景下,“数据脚印”无处不在,小到个人消费、活动轨迹,大到税务、资产、理财、并购等重要决策,这些在不同部门、不同行业保存的“数据脚印”之间不会有任何交叉、冲突,但是如果将这些数据通过一个统一的平台进行整合并信息加工,通过数据之间的相互印证和相互解释,几乎可以将一个人,一个企业的行为轨迹全部呈现出来。
某种意义上讲,这些整合的数据和信息就是一种暗中的监控。除非你与智能生活无关,不用任何智能化的设备,不享用便捷的“互联网+”服务,否则这些数据总会在某台服务器上静静地待着,直到有一天被挖掘出来。所以我理解能源计量数据采集工作的艰难。没有哪家企业愿意敞开心扉,任人一探究竟。
中国制造2025
我国智能制造2025的本质是工业和信息化的深度融合。工厂的智能制造系统在制造过程中能进行智能活动,比如分析、判断、决策等。通过人与智能机器的合作,扩大、延伸和部分取代技术专家在制造过程中的脑力劳动,把制造自动化扩展到高度的智能化和集成化。
今后的智能工厂将广泛应用MES(制造执行系统)、APS(先进生产排程)、能源管理、质量管理等工业软件,实现生产现场的可视化和透明化。甚至在新建工厂时,可以通过数字化工厂仿真软件进行设备和生产线的布局和物流、人机交互的仿真,确保工厂布局结构的合理。
通过专业检测设备检出次品时,不仅能够自动与合格品分流,而且能够通过SPC(统计过程控制)等软件分析出现质量问题的原因。这样的场景我们已经看到雏形,在不久的将来会呈现在大家面前。
如此智能化的制造,今后计量的对象可能不是我们现在常见的一些设备仪器了,我们要面对的可能是智能化、物联网化的在线设备仪器。这些新工业设备仪器所产生的数据将是工业大数据的主流。一个企业,从原材料进厂到制造过程控制,再到产品出厂检验,部分产品中还要嵌入传感器,都要对其使用过程进行监测,保证其有效使用。这些过程都要产生大量的数据。
智能制造时代是以随时随地的精准测量为基础的,这些测量数据是工业大数据的主要来源,是工业大数据的基础数据。智能制造将带来工业大数据的爆发。
另外,量子基准将取代实物基准是今后计量的一个大趋势,它使得在线测量、远程校准的去实物化成为可能。其实,利用时间校准服务器定时对计时设备校时,就是一个远程在线计量校准的例子。今后,类似的在线计量校准服务将成为主流。
计量服务2.0
借用德国工业4.0的提法,我们现在的计量也应当在数据时代更新升级为计量2.0。这是欧盟提出的重塑计量未来的8种革命性力量,未来计量:虚拟现实、模拟仿真、工业互联网、企业集成、在线检测、网络安全、增材制造(3D打印)和大数据。我们比较熟悉的是3D打印、在线检测、网络安全等内容,工业大数据与未来计量将更加密切。
计量2.0应是当前计量技术机构服务模式的升级。在我国,计量是这么定义的,计量是实现单位统一、量值准确可靠的活动。但在普通老百姓眼中就是法制计量,比如出租车、尺子、秤等。其实,还有两种类型的计量不被人熟知:科学计量和工程计量。
在国家取消强制检定收费后,面对出现的一系列问题,如何发挥现有技术机构应有的作用,从管理型技术机构走向服务型技术机构,是每个计量人应该关心和思考的。
用大数据来分析我国工业化的进程,从早年基础建设、钢铁产业、机电设备、化工产业、生物医药、IT产业的发展来看,计量技术机构的变化也经历了力学、热工、化学、医疗等行业的兴衰,不同时期都伴随产业的兴起,在检测人员、设备投入以及收益方面有所增长。
所以现代计量主管部门大力提倡产业计量也是顺应潮流的一大举措,找准产业计量的切入点非常关键。产业计量讲的是关注产品生命周期的全过程。计量2.0也提出了要服务产品生命周期每个阶段的口号。
让我们来看今后计量2.0的服务会有什么变化
首先,日常的校准工作流程会有改变。检测时,工作人员发出指令,让仪器设备的测试接口进行对接,完成自检后按照设定的检测流程和随机参数(防止单点应对性作弊)开始校准,在这期间,突然发生一个意外,造成校准无法进行,反馈信号及时传达至工作人员,根据反馈信息,工作人员重新发出指令解决问题,校准过程重新开始,完成检测后,检测数据和报告就会加密上传至服务器,客户经授权登录到客户端也可以查看。
甚至VIP客户可以做到在异地办公室内,通过网络实时查看实验室的检测状态、同步动态获取实时数据,并对实验数据进行备份,以便后期使用。需要说明的是,这样的校准,不是1对1的,而是1对n的。这其中的关键点是保证检测仪器接口的对接、校准过程的自动分析。
其次,智能制造的计量服务对象之一是大量存在于智能工厂里的数以万计的各种计量设备仪器、制造机器人等。服务方式由被动维护、固定周期维护、预防性维护向预见性维护发展。那种破坏性小、影响不大的缺陷能够通过智能计量仪器在生产过程中提供的实时诊断信息被及时预见,从而在第一时间采取合理措施。
如航空制造业,如何降低飞机发动机油耗是研发工程师们一直要面对的棘手问题。美国通用电气公司在飞机发动机上安装了近6000多个传感器,以便实时监测发动机的运行状态、健康状况等,并通过数据采集分析,预测飞机可能发生的故障风险,为发动机的维修服务和不断提升发动机质量提供数据依据。
最后,基于对检测数据的全面分析,既要从前端的数据获取以价值需求为导向制定的数据标准,更要从碎片化的数据中提取有用的信息。通过对历史数据的分析提炼,对各行各业海量的测量数据完成融合和解释后,使用大数据分析技术对其进行分析,从中学习到关联规律,发现其中的矛盾,找到平常没有发现的特点,发现的规律往往是大数据小应用。在对海量数据进行分析时,除了传统的数据挖掘存储、分布式计算、统计学技术外,还需根据测量对象本身的性质及应用本身场合的特点获得大致范围,得到有效的分析数据。
大数据是一座金矿,但是没有挖掘出来就是废铁一堆。实现计量服务2.0特别是要加强对多源数据的多维度关联、评估及预测,及时发现问题,在产品生命周期内做到最优服务。
结 语
计量服务2.0是以数据驱动的计量服务模式,大数据技术将颠覆传统生产制造模式和计量服务模式,为计量服务2.0提供巨大的推动力。计量服务2.0将对智能制造、网络安全、视频分析、智能电网、物联网、环境检测、安全生产、节能降耗提供全新的数据服务。
- ?
大数据探索:大数据预测与算法
吉梦琪
展开
虽然你并没有见到过买彩票中奖的算命先生,但几乎每个中奖的人都会吹嘘自己拥有了算命先生的能力。有些中奖者,就像赵本山的小品中的人物那样,会声称自己是从梦中获得的灵感来选择号码,还有一些中奖者则会声称自己拥有某种超级预测的能力。
但不管这些人如何声称自己拥有超能力,但我们可以相信,还是很少有正常的企业会高薪聘请这类人来帮助企业做市场预测分析。
随着互联网和计算机的普及,人们做决策时越来越注重“数据驱动”,也就是说更加依赖于客观的统计数据而不是某些人的所谓“判断”。在这个以事实为基础的领域中,常见的词汇都是“分析学”、“大数据”、“商业情报”以及“数据科学”等。
统计科学的任务就是在大量微观个体的相互作用中发现可以被辨识的宏观模式,这些模式可以是数学公式,可以是图标,也可以是若干个更为直观的指标或指数,如均值,方差,CPI和PPI等。
在传统的统计学中,数据是“混合的”(mixed),就像容器内的分子。因此,我们关心的是大量数据中呈现出的宏观量,就像容器内气体的温度。
但是大数据预测分析则更近了一步,它不仅仅是要搞清楚宏观统计规律,更要弄清宏观数据中的精细结构,例如,大数据分析既关心某款手机的销售量,更关心是哪个群体的人会更有可能购买该款手机。
因此,在大数据分析的视野中,数据不再是混合的,而是“聚块的”(assorted)。表面上看是混杂的,但放大了看,则有精细的结构:华为手机用户产生的数据;鹿晗粉丝留下的数据;克罗地亚球迷留下的数据;等等。
所谓的大数据,我将其定义为与人的行为相关的所有数据。人们几乎所有的行为都会留下痕迹,这些痕迹就是所谓的数据。这就意味着,在大数据的视野里,所有的数据就像道路上的脚印,虽然看上去杂乱却是“有迹可循”的。
数据的“前后相随”形成了“足迹”,大数据分析技术可以帮助我们辨识出无数不同的“足迹”。但是我们一定要注意,这些“足迹”不是相互独立的而是相互影响相互关联的。有些足迹会“殊途同归”而有些足迹则会“分道扬镳”。
由于人是有限理性的,因此对于问题类型的兴趣各不相同,即使对于同一个问题也会形成不同的看法。不同类型的数据虽然都被埋在了网络中海量的数据库里,但是具有不同兴趣不同知识背景的人们总是能够在其中“嗅出”自己所需要的特殊“信息素”,并进而引发五花八门的聚集行为。
以维基百科为例。在维基百科的发展过程中,万维网构成了信息聚集和信息流的物理环境。如果有某位作者在维基百科中新增了一个词条,则该词条就会成为一个标识,它所包含的特殊的“信息素”会引导着那些对这个词条感兴趣的读者或编辑的聚集行为。在聚集过程中,他们以网页为媒介间接地进行交往,或增加内容,或修改内容,或激烈争论,持续不断地进行着信息和知识的交流。有时候他们会很快就达成共识,有时候则会在交流和反馈中产生“无中生有”的涌现,形成新的观念和新的词条,从而留下新的“信息素”而引发新的聚集。有时则会因为意见不合或者兴趣衰减而一哄而散。
人们在由维基百科提供的工作环境基于stigmergic机制的间接交往,使得维基百科涌现出了巨大的“智慧”,其内容的广泛性、专业性、包容性、多样性和时代性都超过了任何一本由少数专家“精心编撰”的百科全书。然而,尽管维基百科呈现出多样性、不断变化、缺乏中央指挥,但无论是从短期看还是从长期看,它都始终保持了协调性。
不过,实际上我们面对的绝大多数数据并不像维基百科那样有清晰的结构。如何才能在表面杂乱的数据中发现隐藏的结构和秩序,需要的是合适的算法。
互联网和计算机的普遍使用每天都为我们留下海量的数据。数据仿佛只是无数事实和数字的堆砌,每条数据都显得无聊,有的人看到数据就头疼。然而正如库瓦尼先生所说的“数据是一种新型石油”那样,数据中蕴含着巨大的财富。
不过数据本身还不是财富,作为原材料的数据只是一个枯燥无味的代码组合。只有通过合理有效的方法提炼出来的规律和知识才是如黄金般珍贵的财富。
人的能力有限,不可能同时处理如此海量的数据,幸好现在有了计算机。但是,再强的计算机面对着每天都在指数式增长的海量数据也会感到“内存”有限,再强的CPU都会担心在某一时刻是否会因为温度太高而“自焚”。
写到这里,想到了人的免疫系统。由于病毒或者细菌具有超强的变异能力,这使得新的病毒和细菌层出不穷,从理论上会趋于无限。很显然人的免疫系统中不可能储存如此多的病毒或细菌信息。面对这样的一种情况,密执根大学的John H. Holland教授产生了这样的想法:大自然一定有自己的算法。
这个想法的伟大之处在于,只要拥有了好的算法(软件),有限的硬件就可以做无限的事情。
Holland教授指出:“正是由于适应行为而导致的复杂性,阻碍了当今世界许多重大问题的解决。”
事实上,免疫系统遵循着大自然的“节约”原则,任何一个时刻储存的信息都是有限。那些长期没有出现的细菌和病毒将会被淡忘甚至遗忘,而那些最近出现在身体的疾病信息则会被储存。因此,大多数人在感冒痊愈后的一段时间不再感冒,这是因为免疫系统记住了这些细菌或病毒的特征,只要出现就坚决消灭。而过了一段时间以后,这些病毒或细菌变异后将以陌生的面孔出现在免疫系统面前,从而蒙混过关,让人的病。
Holland教授根据新达尔文主义的基本观点,抽象地分析了自然系统的自适应过程,提出了遗传算法(Genetic algorithm,简称GA),并以此来实现系统结构的演化过程。
继遗传算法之后,很快有了进化算法、蚁群算法、鱼群算法、涌现算法和stigmergy算法等等自适应的算法。中国古代先哲老子的“道法自然”的理念在各种适应性算法中得到了完美的实现。
适应性算法的出现,为一个新的学科——机器学习的诞生奠定了基础。
机器学习,就是让电脑自动获取新知识和新能力,持续不断地输入现代社会最重要的非自然资源:数据。
输入数据→机器学习→预测→通过经验数据的反馈再学习,通过这样的一个过程将会不断提高机器的预测能力。
例如,好莱坞的影视公司会预测,如果某剧本被制作成影片,它是否会受欢迎。如果受欢迎,主要是什么年龄阶层或社会阶层的人会更加欢迎。
对于足球队教练来说,他要知道哪些运动员会在关键比赛的关键时刻更容易“掉链子”,从而做出有效的换人安排。
对于美国总统候选人来说,那些摇摆不定的选民更容易接受什么样宣传媒体和宣传口号,从而提高获胜的机会。
机器学习会从这些发现中尝试建立预测能力,通过对数字的挖掘和试错,运用统计学方法和计算机科学方法实现这种预测。
接下来,需要讨论的问题是,机器学习能否替代人们的自主学习?机器预测能否替代人的判断?还有一个更大的问题是,在强大的人工智能面前,人怎么实现真正的自由?
本文作者 龚小庆
- ?
软件测试工程师又一大挑战:大数据测试
刘千山
展开
什么是大数据
大数据是指无法在一定时间范围内用传统的计算机技术进行处理的海量数据集。
对于大数据的测试则需要不同的工具、技术、框架来进行处理。
大数据的体量大、多样化和高速处理所涉及的数据生成、存储、检索和分析使得大数据工程师需要掌握极其高的技术功底。
需要你学习掌握更多的大数据技术、Hadoop、Mapreduce等等技术。
大数据测试策略
大数据应用程序的测试更多的是去验证其数据处理而不是验证其单一的功能特色。
当然在大数据测试时,功能测试和性能测试是同样很关键的。
对于大数据测试工程师而言,如何高效正确的验证经过大数据工具/框架成功处理过的至少百万兆字节的数据将会是一个巨大的挑战。
因为大数据高效的处理测试速度,它要求测软件工程师具备高水平的测试技术才能应对大数据测试。
我们来看下大数据处理的三个特性:
大批量
实时性
可交互
另外,数据质量也同样是大数据测试的一个重要维度。
因此在进行应用程序测试之前,必须确保数据质量,并且考虑把数据质量作为数据库测试的一部分。涉及数据的各种特性的检验,例如一致性、准确性、重复性、连贯性、有效性及完整性等等。
大数据应用测试步骤
下面我们一起看看大数据应用的测试过程是怎么样的。
大数据测试过程.png
整体而言,大数据测试大体可以分为三大步骤:
步骤一,数据预处理验证在进行大数据测试时,首先要预hadoop前验证数据的准确性等等。
我们数据来源可能是关系数据库、日志系统、社交网络等等,所以我们应该确保数据能正确的加载到系统中
我们要验证加载的数据和源数据是一致的
我们要确保正确的提取和加载数据至hdfs中
步骤二,Map Reduce验证在进行大数据测试时,第二个关键步骤是“Map Reduce”验证。在本阶段,我们主要验证每一个处理节点的业务逻辑是否正确,并验证在多个运行后,确保:
Map Reduce过程工作正常
数据聚合、分离规则已经实现
数据key-value关系已正确生成
验证经过map reduce后数据的准确性等特性
步骤三,结果验证在本阶段主要验证在经过大数据工具/框架处理后,生成的最终数据的成果。
主要验证:
验证数据转换规则是否正确应用
验证数据的完整性和是否成功持久化到目标系统
验证无数据损坏
架构测试
Hadoop处理海量数据是非常的消耗资源的,良好的架构是确保大数据项目成功的基础。糟糕的涉及会导致性能急剧的下降,进而使得系统无法满足我们的需要,因此我们需要,或是说至少在Hadoop环境下进行性能测试、故障恢复测试,以应改进效率和应对可能的最糟糕的情况。
性能测试是一个复杂的工作,它贯穿整个测试周期,需要关注内存、CPU、网络等等指标。
故障恢复测试则是验证数据处理过程中可能出现的故障,为做好意外的恢复做好相应的应对措施。
性能测试
大数据性能测试主要包含以下几个部分:
数据提取、存储效率
在本阶段,我们主要验证大数据应用从源数据中提取、加载数据的效率。
一是验证单位时间内数据的提取、加载效率。
二是验证数据持久化至mongodb等库的效率等等
数据处理
在本阶段,我们验证map reduce任务的执行效率,重点关注的是数据处理的效率。当然这个过程可能也会涉及到数据的持久化相关指标,例如存储至HDFS读写效率等等,同样也会涉及在内存中处理效率,即我们的处理算法效率等等
子组件性能
大数据处理,一般都会需要综合利用各种组件来辅助处理,所以我们也是需要关注这些辅助组件的性能
性能测试策略
大数据应用性能测试涉及海量的结构化和非结构化的数据,与我们平时所面对的业务系统有所不同,所以我们需要针对大数据应用制定特定的测试策略,以应对海量的数据。
大数据测试策略.png
根据上图性能测试执行过程一般是这样的:
在性能测试前需要先初始化大数据集群环境
梳理和设计大数据性能测试场景
准备大数据性能测试脚本
执行并分析测试结果(如果指标异常,则调优相应的组件并重新测试)
优化配置
性能测试基础准备
在大数据性能测试时,需要准备相关的基础工作,如下:
数据准备,我们需要在不同的节点准备什么量级数据?
日志预估,在测试过程中,可能会生成多大的日志,日志的可能增量是什么样的?
并发,在测试时,可能会有多少线程并发读和写?
超时设置,应对设置怎样的连接超时?查询超时?写超时等等?
JVM参数,如何设置最优的jvm参数,heap size、GC机制等等
Map Reduce,我们应该选择什么样的sort、merge等算法?
消息队列,消息队列长度会怎么样?等等
必备的测试环境
大数据测试不同于常规的应用测试,你应该具备以下一些基础环境:
拥有足够的存储设备来存储和处理大数据
拥有集群来做分布式节点和数据处理
至少拥有足够的cpu、内存来确保有高性能的处理基础
大数据测试的挑战
对于从事大数据测试的软件测试工程师而言,与传统的测试工作相对比,我们可能面临的以下几个可能的挑战:
自动化自动化测试是从事大数据测试必备的技术,但自动化测试工具可能并不具备处理测试过程所引发的异常的能力,意味着现有工具可能并不适用,编程能力将是更好的一种技能。
虚拟化当前业内大规模使用虚拟化技术,但虚拟机的延迟有可能造成大数据实时测试处理的异常。
对大数据而言,管理影像信息也将是一个巨大的问题。
海量数据集
需要验证的数据量巨大,而且需要更快的处理速度
需要有效的自动化测试手段
需要尽可能的跨平台
大数据性能测试的挑战
对于从是大数据性能测试,与传统性能测试相比较,我们要面临是样的挑战呢,可能有以下几个方面:
技术的多样化,复杂化,面对不同的大数据解决方案,我们可能需要掌握不同的技术和定制不同的测试解决方案
无通用的工具,目前业界暂无通用的标准的大数据性能测试工具,这意味着我们需要根据大数据应用解决方案技术,要自行开发或整合多种相关工具才可能解决问题
测试环境复杂化,因为海量的数据,我们所需要测试环境亦会更加复杂,所消耗的基础成本会更高
监控解决方案,目前有的监控解决方案有限,但通过整合不同的监控工具,大致可能拥有一套相对可行的监控解决方案
诊断方案,由于大数据应用所涉及的技术、环境复杂性,对于问题的诊断调优,我们需要根据实际情况来进行开发定制
从上面几个方面来看,从事大数据性能测试所要面临的问题是相对复杂的,尤其对当下国内的测试工程师而言,要走的路还很长,很艰难。
小结
随着大数据工程和数据分析逐步的进入新的阶段,大数据测试将成为必然,也必定成为未来的一个热门的职业方向
大数据处理必须是批量的,实时的、可交互的
大数据应用测试的三大阶段:
数据验证
Map Reduce 验证
数据处理结果验证
架构测试也是非常重要的一个测试类型,糟糕的架构可能直接导致您的大数据项目的失败
性能测试三大节点:
数据提取、存储效率
数据处理效率
子组件工作效率
大数据测试不同于传统的测试,不仅仅是类型、策略的不同,工具等具体技术都会有区别
大数据因其复杂性,其测试所面临的挑战也会不同于传统的测试
大数据性能测试将会是软件测试工程师进一步艰难攻克的目标之一
我的微信号: 开源优测未经允许,禁止转载,谢谢
- ?
「干货」1分钟测试:你是否适合学习大数据!
陶海亦
展开
每次身边的小伙伴跟我提到“人工智能”和“大数据”时,小编就会有一种“不明觉厉”之情油然而生!没错,“大数据“确实是一个很fashion的概念。
那么你想不想也试一试?一分钟了解大数据基本概念!测试自己是否适合学习大数据!
一、大数据整体介绍
FusionInsight是华为企业级大数据存储、查询、分析的统一平台,能够帮助企业快速构建海量数据信息处理系统。
通过对海量信息数据实时与非实时的分析挖掘,发现全新价值点和企业商机。
二、大数据应用方案和组件介绍
敏 捷
完全开放的架构,性能线性扩展
强大的SQL能力,业务移植便捷
丰富的工具支持,开发运维高效
智慧
全量建模,深刻洞察
自研算法,高效精准
可信
全组件HA、异地容灾
开放共赢,可信赖的合作伙伴
小结:FusionInsight HD 是一个大数据全栈商用平台,支持各种通用大数据应用场景。
三、技能需求
“大数据”并没有大家想象中那么高不可攀,今天小编帮大家揭开了神秘面纱之后,是不是坚定了想要学习的信心。
争取今年完成拿到认证这个“小目标”!
- ?
大数据测试,女生在这几个瞬间最吸引人!你是吗?
风云2002
展开
女生都喜欢帅哥,五官端正,家庭条件好,人要懂得疼人,懂得浪漫,就像小说里面说的一样,近乎完美!同样的是男生也都喜欢美女,但是这个并不只是容颜和身材上的美,在男生眼里,女生有那么几个瞬间是最吸引人的,例如电影里紫霞仙子的眨眼睛,简直是倾国倾城,真如仙子般!
这些都是电影中才能演绎出来的角色和经典,但是在现实生活中,女生也有那么几个瞬间是最美最吸引人的,下面就给各位MM说下,都是大数据测试出来的,单身汪心目中最真实的想法。
1. 在某个场合,突然愣神发呆的时候,那种迷离的眼神特别吸引人,呆萌可爱!
2. 一不小心睡着的时候,那时候的你比较放松,犹如小猫一般的睡美人!
3. 见到陌生人或者第一次约会的时候,害羞脸红,娇嫩的出水!
4. 当男生说我饿了的时候,你会马上去厨房做一碗面,想要抓住男人的心就要先抓住男人的胃!
5. 当男生偶尔邋遢懒猪的时候,你会毫不犹豫帮他打扫卫生,整理衣服的瞬间!
6. 发出银铃般笑声的时候,犹如树上黄鹂鸟,清新悦耳!
7. 需要的时候,你会从包里拿出纸巾,看你如救命恩人一般。
8. 陪他看球赛,即使自己不喜欢。
9. 主动迎合男生智商的时候(这句话有点悲伤)
这些数据都只是客观上的,事实只有自己知道,女朋友的美没有瞬间,是时刻都很美,不是吗?元旦都快到了,自己的女友送一份礼物吧!
- ?
大数据下的性功能测试,看吱呀如何为男性提供专业训练
噩梦
展开
如果你打开网站,搜索关键词“性能力提高”、“性能力改善”等关键词,会发现有价值的信息非常之少,大部分中国人对于性的关注比较隐晦,并不会将其仔细研究。根据2013年——2014年中国性爱报告显示,83%的国人认为性是生活中不可或缺的一部分,94%的男人认为有义务令伴侣满意,86%的男人认为岁月不饶人,力不从心在所难免,约75%的男人对自己的床上功力并不满意,41%的男人做爱时长不足10分钟,只有4%的男人会求助于医生来解决自己的性问题。
面对这个这个现状,吱呀创始人老鱼(花名)在这个细分领域找到了机会。他告诉猎云网:“这个领域是的市场是非常大的。”对于两性领域,大多数人不知道自己的水准在同龄人中到底如何?所以男性在这方面的认知是空白的,绝大多数人缺乏客观准确的测评方式;缺乏性能力的大数据作为参考;缺乏行之有效的自我提高方式去改善。
针对这些痛点,老鱼表示,吱呀项目针对这些痛点,提出了以下解决方案:
1、用户自我测试,可根据使用场景自行选择 “一分钟简测” 与“精准测试” ,通过独创多维度测评算法,看自我感觉的性能力和真实测评出的性能力是否有差距;
2、10分钟到底好还是坏?没人知道,也不知道在同龄人中是什么位置?放到大数据中对比一下,找到自己的水准线;
3、通过多个维度数据的异常标示和分析解读,给予有效的分析与改善建议, 并精准推荐专业的视频训练课程;
4、术业有专攻,除了综合提高身体素质,性能力的专项训练、局部训练事半功倍,时间短推荐延时课程、硬度差,就有硬度提升课程;
5、专业的两性知识文章来营造社区氛围。
值得一提的是,吱呀所采用的核心技术为团队自主研发测评技术,利用智能手机的各种传感器进行性爱数据采集。可以通过床的震动采集震动频率、时间、强度等数据。针对用户的个人隐私,吱呀利用技术手段,在进行测试的整个过程手机都是黑屏,不会被其他人发现。
据老鱼介绍,每一个用户完成“测试”,便会产生数据,当越来越多的人产生数据,后台的大数据库便可作为最权威的性能力数据。
吱呀通过测试性功能,对用户的数据进行解读分析,让每个用户知道自己所在范围,为用户提供专业的性功能短板专项课程训练。此外,吱呀还会为用户提供社交系统,用于增强用户粘性。
在商业模式上,吱呀除了吸引用户数据之外,还将配合训练课程开通性健康私教模式。据悉,吱呀的课程是其团队和专业教练合作,拍摄针对局部肌肉的训练课程。相关肌肉群的加强训练,是聘请北京体育大学的教练参与课程的专业开发及演示。老鱼介绍,未来可以针对性功能短板进行专项VIP课程付费训练;或是作为品牌厂商的精准投放渠道,还是作为优质的情趣用品电商销售平台,此时可以尝试用数据说话。
由于目标人群高度精准,势必会成为类似杜蕾斯、专科医院、各情趣用品的优质广告与合作渠道,初上线运营的过程中,已经有若干情趣类、小说媒体类希望投放广告;其次,通过与男性专科医疗合作,一方面进行引流,另一方面提高专业性咨询。
最后引进情趣智能硬件,在老鱼看来,目前市场上情趣智能硬件的效果泛善可陈,原因在于仅可采用蓝牙或者网络的数据同步及操作,这远远不够智能。吱呀将会根据用户的测试数据,结合情趣智能硬件达到调整改善其性爱阈值的目的。
老鱼说:“吱呀是完全创新没有可参考对象的APP,所以在初设目标上团队决定:初始阶段的重心放在打磨产品体验上,致力于是否真的满足需求、用户是否真的需要这些功能、是否真的有不可替代的价值。”
目前,吱呀已完成种子轮融资,正式启动天使轮融资。2017年12月,安卓版本顺利上线;18年3月底,IOS版正式上线。并且,增加了女性课程作为未来女性用户群体拓展的发展伏笔,同时增加社交元素功能,吸引了女性用户的加入参与,现安卓端共计18万用户。
未来,吱呀主要的任务是让产品更专业化、更精准化,引导用户多测多练,积累数据。下一步肯定是和专业的医疗团队合作,提升产品的专业性;可借助其他硬件设备,提升自主研发的测评系统精准性,优化利用智能硬件的各种传感器采集的性爱数据,更精准的通过床的震动采集震动频率、时间、强度等数据。
在团队方面,吱呀团队规模十人左右,创始人老鱼,29岁时即出版自传体小说,17年工作经验,擅长公司管理、战略和业务管控。2004年以前在思念集团任职总经办品牌经理;2006-2009年作为创始团队成员创业网站“栖息谷”社区。后任职副总裁助力APP定制国内一线公司快速发展,并在其过程中带队操刀了逾百个移动互联网创业项目,对于公司发展经营可完全掌控。
- ?
大数据测试之ETL测试入门
八爪蟹
展开
概述
在我们学习ETL测试之前,先了解下business intelligence(即BI)和数据仓库。
什么是BI?
BI(Business Intelligence)即商务智能,它是一套完整的解决方案,用来将企业中现有的数据(原始数据或商业数据或业务数据等)进行有效的整合,快速准确地提供报表并提出决策依据,帮助企业做出明智的业务经营决策。
原始数据记录了企业日常事务,例如与客户交互的信息、财务信息,员工相关记录等等。
这些数据可以用于汇报、分析、挖掘、数据质量、交互、预测分析等等
什么是数据仓库
数据仓库是为查询和分析而不是事务处理而设计的数据库。
数据仓库是通过整合不同的异构数据源而构建起来的。
数据仓库的存在使得企业或组织能够将整合、分析数据工作与事务处理工作分离。
数据能够被转换、整合为更高质量的信息来满足企业级用户不同层次的需求。
什么是ETL
ETL是Extract-Transform-Load的缩写(提取-转换-载入),是一个完整的从源系统提取数据,进行转换处理,载入至数据仓库的过程。
我们从联机事务数据库中提取数据,进行转换处理,匹配数据仓库模式,然后载入至数据仓库数据库中。
在通常情况下,大多数的数据仓库要整合非联机事务数据库系统的数据,例如来源文本文件、日志、电子表格等等。
下面我们一起看看ETL是怎么工作的。
例如一个公司,有关于其不同部门的数据记录,销售、市场、物流等等。每个部门所处理的客户信息是独立的,而且存储的数据也是相对不同的,假如销售团队有存储客户的姓名,而物流团队存储的是用户 的ID。
现在我们想要去检查客户的历史数据,并且想要了解他/她在不同的营销活动中购买的不同产品是什么。这将是一项非常枯燥的工作。
该解决方案就是使用数据仓库应用统一的结构来存储经过ETL处理过的不同源的数据。
ETL能够转换不同结构/类型的数据集为统一的结构,以便后续使用BI工具生成有意义的分析和表报。
下面我们看一下ETL过程完整的流程图:
ETLProcess.png
Extract提取有效的数据Transform将提取的数据转换为数据仓库模式/格式构建keys:一个key是一个或多个数据属性的惟一标识实例,key的类型可以是主键(primary key)、外键(foreign key)、替代键(alternate key)、复合键(composite key)以及代理键(surrogate key)。这些key只允许数据仓库进行维护管理,且不允许其他任何实体进行分配。数据清理:在提取好数据后,则进入下一个节点:数据清理。对提取的数据中的错误进行标识和修复。解决不同数据集之间的不兼容的冲突问题,使数据一致性,以便数据集能用于目标数据仓库。通常,通过转换系统的处理,我们能创建一些元数据(meta data)来解决源数据的问题,并改进数据的质量。Load将转换后的数据载入数据仓库构建聚集:创建聚集对数据进行汇总并存储数据至表中,以改进终端用户的查询体验。什么是ETL测试
ETL测试是为了确保从源到目的地数据经过业务转换完成后是准确的。
同时它还涉及数据的验证,即从源到目的地数据各个不同阶段验证数据。
ETL是Extract-Transform-Load的缩写。
ETL测试过程
与其他测试过程类似,ETL也需要经历不同的测试阶段。其流程如下:
ETLTestingProcess.png
ETL测试过程主要分为以下五大阶段:
分析需求、业务和源数据获取数据实现业务逻辑和维度建模构建和填充数据生成报告
ETL测试类型
Production Validation Testing该类型的ETL测试是在数据迁移至生产系统时进行的。为了保证生产业务的正常运营,生产系统中的数据必须以正确的顺序进行排序。在该ETL测试类型中要注意从数据层面进行自动化测试和管理能力的植入。Source to Target Testing(Validation Testing)该类型的测试主要元组转换的数据是否满足预期的转换目标Application Upgrades(升级测试)该类型的ETL测试是可以自动生成的,能节省大量的测试开发时间。主要检查旧应用或存储库中提取的数据是否与新的应用或新的存储库中的数据完全相同。Metadata testing(元数据测试)元数据测试包括数据类型检查、数据长度和索引/约束检查。Data Completeness Testing(数据完整性测试)当把所有期望的数据从源加载到目标地时,就算完成了数据完整性测试。在数据完整性测试过程中,我们还可以进行一些简单的转换或无转换的源与目标之间的计数、聚合和实际数据比较和验证的测试。Data Accuracy Testing(数据准确性测试)该类型测试验证数据正确的完成加载和按预期目标进行转换。Data Transformation Testing(数据转换测试)测试数据转换是一个复杂的过程,并不是简单的写一个源SQL查询并与目标进行比较来实现的。可能需要为每个行运行多个SQL查询,来验证转换规则Data Quality Testing(数据质量测试)数据质量测试包含语法和基准测试。为了避免在业务过程中由于日期或唯一编号(例如订单号)引起的错误,进行数据质量测试。语法测试:根据无效字符、字符模式、不正确大小写、顺序等出具脏数据测试结果基准测试:基于数据模型检查数据,例如客户ID数据质量测试,包含:数字检查、日期检查、精度检查、数据检查、零校验等等Incremental ETL Testing(增量ETL测试)该类型测试主要验证旧数据和新数据的完整性,并添加新数据。增量测试验在增量ETL过程中,插入和更新是否满足预期的要求。GUI/Navigation Testing该类型测试主要检查生成的大数据报告的UI\导航方面是否正常
怎么创建ETL测试用例
ETL测试是一个可以应用于信息管理领域中不同工具和数据库的概念。
ETL测试的目的是确保在业务转换完成后从源加载到目的地的数据是正确无误的。
ETL测试同样还涉及在源和目的地之间转换时的各个阶段的数据的验证。
在从事ETL测试时,有两份文档是ELT测试人员实时使用的:
ETL映射表:一个ETL映射表包含源和目的地表的所有的信息,包括每个列及其引用表等约束关系。ETL测试人员需要更为优美的SQL查询语句,因为在ETL测试各阶段可能需要编写具有多个连接的大查询来验证数据。ETL映射表在为数据验证编写查询时提供大量的有用的信息。源、目标数据库模式:该模式应该便于验证映射表中的所有细节。
ETL测试场景和测试用例
序号测试场景测试用例1Mapping Doc Validation(映射文件验证)验证映射文件是否提供了响应的ETL信息,且每个映射文档的更新日志有记录2Validatioin(验证)1. 根据对应的映射文件验证源与目的地数据仓库的表结构2. 验证源和目标数据的类型一致3. 验证源和目标数据的长度一致4. 验证数据字段类型和格式是指定的类型5. 验证源的数据类型长度不应小于目标数据类型长度6. 针对映射表对数据表的列的名称进行验证3约束验证验证目标表中的约束关系满足我们的期望设计4数据一致性问题1. 要防止语义定义相同,但特定属性的数据类型和长度不一致的问题2. 防止完整性约束滥用5完整性问题1. 要确保所有期望的数据都已经完整的加载到目标表中2. 要比较源和目标数据的个数(即确保计数上的完整)3. 检查出现的任何不合格的记录4. 检查目标表列中的数据没出现被截断的情况5. 对边界值进行分析检查6. 要检查比较目标数据仓库和源数据的关键字段的唯一性6正确性问题1. 数据要没有拼写错误或不准确的记录2. 无null、非惟一或超出范围的数据记录存在7转换验证转换逻辑的正确性8数据质量1. 数值型验证,验证是否为数值类型2. 日期型验证,验证是否为日期格式,并且在所有日期类型数据的格式应该统一3. 精度验证,小数点的精度要满足期望的精度4. 数据检查:检查数据的正确性,完整性5. null检查9拷贝验证1. 验证目标表中业务要求所有惟一性指标均正确的实现(例如主键、惟一标识的键、或其他任一惟一表示的列)2. 验证从源数据多列合并而成的数据是正确的3. 验证仅仅根据客户要求对源数据进行了多列合并至目标表中10日期验证日期是ETL开发过程中常用的数据,主要用于:1. 了解数据行创建的日期2. 用于识别活动记录3. 根据业务需求透视表确定活动记录4. 便于基于时间插入、更新记录11数据完整性验证在验证源和目标表中的数据集的完整性时,我们需要用到交集运算,以确定目标数据的完整性12数据清理对于不需要的列在载入至数据仓库前应该进行删除
ETL的bug类型
序号bug类型描述说明1用户接口bug1. 主要涉及应用的GUI2.字体、样式、颜色、对齐、拼写错误、导航等等2边界值bug数据的边界值范围3等价类划分bug有效和无效类4输出/输出bug1.未接受的有效值2. 无效的值被接受5计算类bug1. 数学计算错误2. 最终输出错误6载入条件bug1. 不运行多用户操作2. 不运行用户载入期望的数据7崩溃bug1. 系统宕机或挂起2. 系统无法运行在用户的平台上8版本控制bug1. 无匹配标识2. 没有可用的版本信息3. 一般版本控制bug发生在回归测试时9硬件问题一般发生在应用程序不兼容设备10文档错误bug错误的帮助文档信息
ETL测试与数据库测试的不同
序号ETL测试数据库测试1验证数据是否按照预期进行了移动主要验证数据是否遵循了设计预定的数据模式规则或标准2验证数据经过业务转换后是否满足预定的转换逻辑以及验证源和目标数据计算是否一致主要表的主、外键等越苏是否正常3验证ETL过程数据表的主外键关系是否保存验证没有冗余表,数据库最佳化4验证已载入的数据拷贝是否满足预期验证需要的是否缺少数据
ETL测试工程师的主要责任
对于一个ETL测试工程师而言,其关键的责任有三大类:
源数据分析(数据库、文本等类型数据分析)业务转换逻辑实现将经过转换的数据载入至目标表其他有:
掌握ETL测试软件ETL数据仓库测试组件在后端执行数据驱动测试创建、设计、执行测试用例、计划等标识问题、提供问题解决方案梳理业务需求和设计测试策略写SQL或数据库操作代码完成实现各种测试场景等等其他工作内容
开源优测
分享软件测试开源技术、经验、方案的首发平台
- ?
大数据测试过程、策略及挑战
蓝色的
展开
什么是大数据
大数据是指无法在一定时间范围内用传统的计算机技术进行处理的海量数据集。
对于大数据的测试则需要不同的工具、技术、框架来进行处理。
大数据的体量大、多样化和高速处理所涉及的数据生成、存储、检索和分析使得大数据工程师需要掌握极其高的技术功底。
需要你学习掌握更多的大数据技术、Hadoop、Mapreduce等等技术。
大数据测试策略
大数据应用程序的测试更多的是去验证其数据处理而不是验证其单一的功能特色。
当然在大数据测试时,功能测试和性能测试是同样很关键的。
对于大数据测试工程师而言,如何高效正确的验证经过大数据工具/框架成功处理过的至少百万兆字节的数据将会是一个巨大的挑战。
因为大数据高效的处理测试速度,它要求测软件工程师具备高水平的测试技术才能应对大数据测试。
我们来看下大数据处理的三个特性:
大批量实时性可交互另外,数据质量也同样是大数据测试的一个重要维度。
因此在进行应用程序测试之前,必须确保数据质量,并且考虑把数据质量作为数据库测试的一部分。涉及数据的各种特性的检验,例如一致性、准确性、重复性、连贯性、有效性及完整性等等。
大数据应用测试步骤
下面我们一起看看大数据应用的测试过程是怎么样的。
整体而言,大数据测试大体可以分为三大步骤:
步骤一,数据预处理验证在进行大数据测试时,首先要预hadoop前验证数据的准确性等等。我们数据来源可能是关系数据库、日志系统、社交网络等等,所以我们应该确保数据能正确的加载到系统中我们要验证加载的数据和源数据是一致的我们要确保正确的提取和加载数据至hdfs中步骤二,Map Reduce验证 在进行大数据测试时,第二个关键步骤是“Map Reduce”验证。在本阶段,我们主要验证每一个处理节点的业务逻辑是否正确,并验证在多个运行后,确保:Map Reduce过程工作正常数据聚合、分离规则已经实现数据key-value关系已正确生成验证经过map reduce后数据的准确性等特性步骤三,结果验证 在本阶段主要验证在经过大数据工具/框架处理后,生成的最终数据的成果。主要验证:
验证数据转换规则是否正确应用验证数据的完整性和是否成功持久化到目标系统验证无数据损坏架构测试
Hadoop处理海量数据是非常的消耗资源的,良好的架构是确保大数据项目成功的基础。糟糕的涉及会导致性能急剧的下降,进而使得系统无法满足我们的需要,因此我们需要,或是说至少在Hadoop环境下进行性能测试、故障恢复测试,以应改进效率和应对可能的最糟糕的情况。
性能测试是一个复杂的工作,它贯穿整个测试周期,需要关注内存、CPU、网络等等指标。
故障恢复测试则是验证数据处理过程中可能出现的故障,为做好意外的恢复做好相应的应对措施。
性能测试
大数据性能测试主要包含以下几个部分:
数据提取、存储效率在本阶段,我们主要验证大数据应用从源数据中提取、加载数据的效率。
一是验证单位时间内数据的提取、加 载效率。
二是验证数据持久化至mongodb等库的效率等等
数据处理在本阶段,我们验证map reduce任务的执行效率,重点关注的是数据处理的效率。当然这个过程可能也会涉及到数据的持久化相关指标,例如存储至HDFS读写效率等等,同样也会涉及在内存中处理效率,即我们的处理算法效率等等
子组件性能大数据处理,一般都会需要综合利用各种组件来辅助处理,所以我们也是需要关注这些辅助组件的性能
性能测试策略
大数据应用性能测试涉及海量的结构化和非结构化的数据,与我们平时所面对的业务系统有所不同,所以我们需要针对大数据应用制定特定的测试策略,以应对海量的数据。
根据上图性能测试执行过程一般是这样的:
在性能测试前需要先初始化大数据集群环境梳理和设计大数据性能测试场景准备大数据性能测试脚本执行并分析测试结果(如果指标异常,则调优相应的组件并重新测试)优化配置性能测试基础准备
在大数据性能测试时,需要准备相关的基础工作,如下:
数据准备,我们需要在不同的节点准备什么量级数据?日志预估,在测试过程中,可能会生成多大的日志,日志的可能增量是什么样的?并发,在测试时,可能会有多少线程并发读和写?超时设置,应对设置怎样的连接超时?查询超时?写超时等等?JVM参数,如何设置最优的jvm参数,heap size、GC机制等等Map Reduce,我们应该选择什么样的sort、merge等算法?消息队列,消息队列长度会怎么样?等等必备的测试环境
大数据测试不同于常规的应用测试,你应该具备以下一些基础环境:
拥有足够的存储设备来存储和处理大数据拥有集群来做分布式节点和数据处理至少拥有足够的cpu、内存来确保有高性能的处理基础大数据测试的挑战
对于从事大数据测试的软件测试工程师而言,与传统的测试工作相对比,我们可能面临的以下几个可能的挑战:
自动化自动化测试是从事大数据测试必备的技术,但自动化测试工具可能并不具备处理测试过程所引发的异常的能力,意味着现有工具可能并不适用,编程能力将是更好的一种技能。虚拟化 当前业内大规模使用虚拟化技术,但虚拟机的延迟有可能造成大数据实时测试处理的异常。对大数据而言,管理影像信息也将是一个巨大的问题。
海量数据集需要验证的数据量巨大,而且需要更快的处理速度需要有效的自动化测试手段需要尽可能的跨平台大数据性能测试的挑战
对于从是大数据性能测试,与传统性能测试相比较,我们要面临是样的挑战呢,可能有以下几个方面:
技术的多样化,复杂化,面对不同的大数据解决方案,我们可能需要掌握不同的技术和定制不同的测试解决方案无通用的工具,目前业界暂无通用的标准的大数据性能测试工具,这意味着我们需要根据大数据应用解决方案技术,要自行开发或整合多种相关工具才可能解决问题测试环境复杂化,因为海量的数据,我们所需要测试环境亦会更加复杂,所消耗的基础成本会更高监控解决方案,目前有的监控解决方案有限,但通过整合不同的监控工具,大致可能拥有一套相对可行的监控解决方案诊断方案,由于大数据应用所涉及的技术、环境复杂性,对于问题的诊断调优,我们需要根据实际情况来进行开发定制从上面几个方面来看,从事大数据性能测试所要面临的问题是相对复杂的,尤其对当下国内的测试工程师而言,要走的路还很长,很艰难。
小结
随着大数据工程和数据分析逐步的进入新的阶段,大数据测试将成为必然,也必定成为未来的一个热门的职业方向大数据处理必须是批量的,实时的、可交互的大数据应用测试的三大阶段:数据验证Map Reduce 验证数据处理结果验证架构测试也是非常重要的一个测试类型,糟糕的架构可能直接导致您的大数据项目的失败性能测试三大节点:数据提取、存储效率数据处理效率子组件工作效率大数据测试不同于传统的测试,不仅仅是类型、策略的不同,工具等具体技术都会有区别大数据因其复杂性,其测试所面临的挑战也会不同于传统的测试大数据性能测试将会是软件测试工程师进一步艰难攻克的目标之一
注:本文参考的资料包括但不限于IBM、Microsoft、hadoop、spark、apache等等官方网站
如何测试大数据
-
1、只需3秒快速实现求和
-
2、如何快速填充序号
-
3、如何自动填充序号(公式法)
-
4、数据条的神奇应用
-
5、多文本快速合并
-
6、查找与替换的不同玩法
-
7、快速定位到指定区域
-
8、数据排序、工资条制作
-
9、快速筛选(模糊、精确筛选)
-
10、快速插入空行
-
11、快速删除空行
-
12.快速跳转到天涯海角
-
13、.同时查看两个Excel文件
-
14、用条件格式扮靓报表
-
15、一键插入Excel图表
-
16、批量处理行高、列宽
-
17、利用拆分功能查看数据
-
18、批量录入相同内容
-
19、工作表快速跳转
-
20、批量录入表格模板(精品课程)
-
21、Excel函数与公式的应用、公式循环引用的查找
-
22、IF函数单条件判断同比增长
-
23、用sum函数 格式相同,连续多表数据汇总
-
24、excel快捷键
-
25、VLOOKUP函数——根据销售员匹配销售额
-
26、统计各部门销售总额
-
27、统计指定条件个数
-
28、怎样输入当前日期和时间、星期数
-
29、销售业绩排名
-
30、Sumproduct函数-万能函数(销售额汇总求和)
-
31、根据销售员,地区,商品名称汇总
-
32、批量替换PPT字体
-
33、给销售额数据批量添加万元单位
-
34、一秒快速核对两列数据
-
35、快速定位到指定单元格或区域
-
36、快速制作双行标题工资条
-
37、给你的表格做个瘦身
-
38、快速打开常用的Excel文件
-
39、快速打开多个Excel文件
-
40、利用创建组—快速隐藏/展开多列数据
-
41、快速制作下拉菜单
-
42、复制粘贴表格,如何保留数据源列宽格式一致?
-
43、两列数据位置互换
-
44、1秒钟扮靓报表——如何实现表格隔行换色
-
45、快速删除重复记录——保留唯一值
-
46、快速向下填充、向右填充,文本或公式
-
47、给Excel文件添加密码
-
48、插入带图片的批注
-
49、输入公式后不计算?
-
50、如何设置单元格缩进
-
51、快速解决Excel表格总显示货币格式
-
52、批量添加万元单位
-
53、你会四舍五入么?
-
54、用RAND函数机选彩票
-
55、冻结首行你会么?
-
56、超链接的高级应用
-
57、IFERROR函数-屏蔽错误值
-
58、批量填充颜色
-
59、录入数据
-
60、快速输入工号
-
61、快速行列转置
-
62、自定义缩放界面
-
63、多个单元格同时输入
-
64、如何计算立方米?
-
65、快速制作双行标题工资条
-
66、输入带方框的√和×
-
67、快速将姓名对齐
-
68、快速输入性别
-
69、按单位职务排序
-
70、自动计算合同到期日期
-
71、计算时间间隔
-
72、日期和时间的拆分
-
73、快速处理不规范的日期格式
-
74、快速填充合并单元格
-
75、效率加倍的快捷键
-
76、快速复制表格和对象
-
77、快速创建工作表副本
-
78、快速复制序列号
-
79、快速显示公式
-
80、多个单元格同时输入
-
81、快速调整显示比例
-
82、快速自动填充
-
83、快速填充(Ctrl+E)
-
84、Ctrl与数字键结合
-
85、快速将多列数据整理为1列
-
86、快速将1列数据拆分为多列
-
87、快速定位公式
-
88、快速录入数据
-
89、快速累计求和
-
90、身份证号码显示为0怎么办?
-
91、快速制作斜线表头
-
92、文本竖向显示
-
93、神奇的监视窗口
-
94、不一样的格式刷
-
95、快速美化图表
-
96、快速生成当前日期
-
97、快速找出循环引用
-
98、快速提取信息
-
99、二维表快速转换为一维表
-
100、快速多表合并