zoukankan      html  css  js  c++  java
  • 大数据工具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命理
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    spring 04-Spring框架依赖注入基本使用
    spring 03-Spring开发框架之控制反转
    spring 02-Maven搭建Spring开发环境
    spring 01-Spring开发框架简介
    JVM堆内存、方法区和栈内存的关系
    jvm 07-java引用类型
    jvm 06-G1收集器
    jvm 05-JVM垃圾收集策略
    jvm 04-JVM堆内存划分
    CSS书写顺序
  • 原文地址:https://www.cnblogs.com/rood/p/12218037.html
Copyright © 2011-2022 走看看