大数据工具Hadoop快速入门13大数据测试

大数据是不能使用传统计算技术处理的大型数据集的集合。这些数据集的测试涉及各种工具,技术和框架。大数据涉及数据创建,存储,检索和分析,数量,多样性和速度都要求非常高。

测试策略

更多的是验证其数据处理而不是单个功能,性能和功能测试*是关键都很重要。

使用集群和其他支持组件来验证TB级数据的处理。它需要高水平的测试技能,因为处理非常快。处理有三种类型

 
image

数据质量也是大数据测试的重要因素,检查数据的质量是重要环节,需要检查一致性、有效性,重复,完整性等。

测试步骤

 
图片.png

数据分段验证

也称为pre-Hadoop阶段,涉及处理验证。

  • 各种来源(如RDBMS,博客,社交媒体等)的数据应进行验证,以确保正确的数据pull到系统
  • 比较源数据与推送到Hadoop系统中的数据
  • 验证数据正确提取并加载到正确的HDFS位置

像工具Talend,Datameer,可用于数据分段的验证

MapReduce验证

验证每个节点上的业务逻辑验证,然后在多个节点运行后验证它们,确保

  • Map Reduce进程正常工作
  • 数据聚合或隔离规则
  • 生成键值对
  • 验证Map Reduce处理后数据

输出验证阶段

生成输出数据文件,并准备根据需要将其移至EDW(企业数据仓库)或其他系统。

  • 转换规则正确应用
  • 数据完整并成功加载到目标系统
  • 将目标数据与HDFS文件系统数据进行比较以确认没有数据损坏

架构测试

Hadoop处理非常大量的数据,资源密集。架构测试对于确保大数据项目的成功至关重要。系统设计不当会导致性能下降,系统可能无法满足要求。至少,需要测试性能和Failover 。

性能测试包括测试作业完成时间,内存利用率,数据吞吐量和类似的系统指标。Failover 测试验证数据处理在节点故障的情况下无缝转移。

性能测试

大数据的性能测试包括两个主要方面:

  • **数据获取和吞吐量:包含获取数据和插入数据。例如插入数据到Mongo和Cassandra数据库中。
  • 数据处理:查询或map reduce作业的速度。还包括数据隔离。例如,在底层HDFS上运行Map Reduce作业
  • 子组件性能:如,消息索引和使用的速度,mapreduce作业,查询性能,搜索等。

性能测试方法

大数据应用程序的性能测试涉及大量结构化和非结构化数据的测试,它需要特别的测试方法。

 
性能测试的方式
    1. 对要性能测试的大数据集群的进行设置
    1. 识别和设计相应的工作负载
    1. 准备单个客户端(创建自定义脚本)
    1. 执行测试并分析结果(如果不满足目标,则调整组件并重新执行)
    1. 优化配置

性能测试的参数

  • 数据存储:数据如何存储在不同的节点中
  • 提交日志:提交日志允许增长的大小
  • 并发性:有多少线程可以执行写和读操作
  • 缓存:调整缓存设置“row缓存”和“key缓存”。
  • 超时:连接超时,查询超时等。
  • JVM参数:堆大小,GC收集算法等。
  • Map reduce性能:排序,合并等
  • 消息队列:消息速率,大小等

参考资料

测试环境需求

  • 足够的空间用于存储和处理大量的数据
  • 分布式节点和数据的集群
  • 最小的CPU和内存利用率

大数据测试和传统数据库测试比较

属性 传统数据库测试 大数据测试
数据 使用结构化数据 同时处理结构化数据和非结构化数据
  测试方法定义明确且成熟 探索中
  手工抽样或自动化完全验证 抽样的挑战很大
基础设施 需要特殊的测试环境,因为文件大小有限 需要特殊的测试环境,因为大的数据和文件(HDFS)
验证工具 Excel的宏、基于UI的自动化工具、Python等 从MapReduce到HIVEQL
  容易上手 较有技术难度。

大数据工具

大数据集群 大数据工具
NoSQL CouchDB,MongoDB,Cassandra,Redis,ZooKeeper,Hbase
MapReduce Hadoop,Hive,Pig,Cascading,Oozie,Kafka,S4,MapR,Flume
存储 S3,HDFS(Hadoop分布式文件系统)
服务器 Elastic,Heroku,Google App Engine,EC2
处理 R,Yahoo!Pipes,Mechanical Turk,BigSheets,Datameer

大数据测试中的挑战

  • 自动化

    技术难度高,异常难处理。

  • 虚拟化
    虚拟机的延时及镜像管理。

  • 大数据集

    • 大量数据集
    • 自动化测试
    • 跨平台

性能测试的挑战

  • 技术复杂多样
  • 多种工具
  • 脚本来设计测试场景和测试用例
  • 特殊的测试环境
  • 监控复杂
  • 开发定制解决方案定位性能瓶颈



作者:python测试开发_AI命理
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自www.cnblogs.com/rood/p/12218037.html