大数据专业相关知识,大数据专业具备的知识和能力

  大数据专业相关知识,大数据专业具备的知识和能力

  1.大数据大数据是大数据的集合,是传统计算技术无法处理的。测试这些数据集需要使用各种工具、技术和框架。大数据包括数据的创建、存储、检索和分析。它是一项巨大、高增长和多样化的信息资产。它需要一种新的处理模式,从而拥有更好的数量、多样性和速度方法,拥有更强的决策力、洞察力和流程优化能力。

  2.测试大数据测试型大数据APP应用往往用于验证数据处理,而不是测试软件产品的各种功能。说到大数据测试,性能和功能测试非常重要。有三种类型的处理:

  一批

  实时

  在对APP应用进行交互测试之前,必须检查数据的质量,并将其视为数据库测试的一部分。必须检查各种字段,包括一致性、准确性、可重复性、一致性、有效性和数据完整性。

  3.测试步骤

  3.1第一步。数据预处理验证在测试大数据时,先验证数据的正确性,再进行hadoop。我们的数据源可能是关系数据库、日志系统、社交网络等。因此,我们必须确保数据能够正确地加载到系统中。确保加载的数据与源数据一致,并且数据将被正确提取并加载到hdfs中。

  3.2第二步,Map Reduce验证测试大数据时,第二个关键步骤是Map Reduce验证。这个阶段主要是验证各个处理节点的业务逻辑是否正确,多次运行后验证:

  映射过程正常运行。

  已经实施了数据聚集和分离规则。

  成功生成数据键值关系。

  映射和读取后验证数据的正确性。

  3.3第三步。结果验证这个阶段主要是验证大数据工具/框架处理后生成的最终数据结果。将正确应用转换规则,以确保数据完整性检查和将数据成功加载到目标系统。

  4.性能测试性能测试是评价大数据分析系统最关键的维度。大数据系统的性能主要包括吞吐量、任务完成时间、内存利用率等指标,可以反映大数据分析平台的处理能力、资源利用能力等性能。hadoop性能监视器可以监控运行状态下的性能指标和瓶颈,自动进行性能测试,测试不同负载下的系统性能。

  5.容错测试可以自动从某些故障中恢复,验证的影响不影响整体性能。尤其是出现故障时,大数据分析系统在恢复的同时,要继续以可接受的方式运行。当出现故障时,它应该在一定程度上继续运行。需要根据应用场景设计解决方案和具体部署,并进行人工测试。

  6.可用性测试高可用性是大数据分析不可或缺的特性之一,从而保证数据应用业务的连续性。大数据的高可用性对于很多APP应用来说非常重要,需要严格的测试和验证,主要是人工测试。

  7.可扩展性测试的灵活性对于大数据时代的文件系统尤为重要。系统的可伸缩性测试主要包括测试系统的柔性可伸缩性(扩展/收缩)和扩展系统带来的性能影响,验证是否具有线性可伸缩性,主要通过手工测试。

  8.稳定性测试大数据分析系统通常会长时间不间断运行。稳定的重要性不言而喻。稳定性测试主要验证系统在长期(7/30/180/365*24)许可下能否正常运行,功能是否正常。稳定性测试通常是自动进行的,工具有LTP、10ZONE、邮戳、FIO等。

  9.测试部署模式大数据具有向外扩展的特性,可以构建大规模、高性能的文件系统集群。部署文件系统的方式因应用程序和解决方案而异。部署方法测试要测试各种情况下的系统部署方法,包括自动安装配置、集群大小、硬件配置(服务器、存储、网络)和自动负载均衡。这部分测试无法自动测试,必须根据APP应用手动设计和测试解决方案和具体部署。

  10.数据完整性测试这里的数据完整性是指文件系统中的数据与外部写入前的数据一致,即写入的数据和读取的数据始终一致。数据完整性是指文件系统能够保证数据的完整性,不会造成数据丢失或数据错误。这是文件系统最基本的功能。通过用diff和md5sum编写脚本可以实现测试自动化,而LTP提供了测试数据完整性的工具。

  1.压力测试大数据分析系统的承载能力是有上限的,系统过载时可能会出现系统性能下降、功能异常、拒绝访问等问题。压力测试验证系统是否仍然正常运行,功能是否正常,系统资源消耗情况,包括数据多客户端、高OPS压力、高IOPS/吞吐量压力等。为大数据的应用提供了基础。

  12.大数据技术部门细分数据收集:flume kafka logstash filebeat …

  存储:mysql redis hbase hdfs …

  Mysql不属于大数据的范畴,但是你的工作离不开它,所以也列在这里。

  查询:hiveimpalaelasticsearchkylin…

  数据计算

  实时计算:风暴火花流弗林克…

  离线:hadoop spark …计算…

  其他框架:动物园管理员…

  13.基于linux的大数据学习步骤1)

  基金会和javase基金会[包括mysql]

  这些都是基本功,刚开始学不好。最起码要熟悉linux中的一些基本命令,以后学习各种框架的时候会用到。用多了,就熟悉了。对于Java,建议主要看面向对象,集合,io,多线程,jdbc操作。

  2)动物园管理员

  Zookeeper是很多大数据框架的基础,中文名字的意思是动物园。因为目前大数据框架的很多图标都是动物的形状,所以zookeeper实际上可以管理很多大数据框架。根据这个框架,我们要掌握如何构建单个节点和集群,以及如何在zkcli客户端下添加、删除和检查zookeeper节点。

  3)hadoop

  目前企业普遍使用hadoop2.x的版本,所以不需要学习Hadoop 1.x的版本,hadoop2.x主要包括三个早期的hdfs,主要学习hdfs的一些命令,比如上传、下载、删除、移动、查看等,mapreduce这种需要重点学习的,需要了解mr的原理及其代码实现。虽然现在在工作中实际编写mr代码的次数很少,但是

  Yarn需要提前了解,只知道yarn是一个资源调度平台,主要负责给任务分配资源。yarn不仅可以为mapreduce任务调度资源,还可以为spark任务调度资源……yarn是一个公共的资源调度平台,所有符合条件的框架都可以使用yarn进行资源调度。

  4)蜂巢

  Hive是一个数据仓库,所有的数据都存储在hdfs上。你可以在网上搜索一下【数据仓库和数据库】的具体区别,有很多介绍。其实如果你熟悉mysql的使用,使用hive会简单很多。用hive主要是写hql,hql是hive的sql语言,和mysql数据库的sql很像。以后学hive的时候,只能理解hive的一些语法特征。实际上hive执行的是hql,底层还是mapredce程序。注:hive本身其实很强大,数据仓库的设计在工作中也很重要。不过在学习初期,先学会怎么用就好了。以后可以好好学习hive。

  5)hbase

  Hbase是一个nosql数据库,一个键值数据库,底层数据存储在hdfs上。在学习hbase的时候,我主要掌握了行键的设计和列簇的设计。需要注意的一个特点是基于rowkey的hbase的查询效率非常快,可以达到秒级查询。但是,当基于列簇中的列进行查询时,尤其是组合查询时,如果数据量很大,查询性能会很差。

  6)redis

  Redis也是一个nosql(非关系型数据库)数据库,也是一个键值型数据库,但是这个数据库是纯基于内存的,也就是redis数据库中的所有数据都存储在内存中,所以它的一个特点就是适合快速读写的应用,可以达到10W次/秒,但是不适合存储海量数据。毕竟机器的内存是有限的。当然,redis也支持集群,可以存储大量数据。在学习redis的时候,主要是掌握string、list、set、sortedset、hashmap的区别和用法,以及在批量入库数据的时候非常有用的管道pipeline,以及transaction事务函数。

  7)水槽

  Flume是一个日志收集工具,现在还在常用。最常见的是从应用程序生成的日志文件中收集数据。一般有两个过程,一个是flume采集数据并存储在kafka中,以便后期使用storm或sparkstreaming进行实时处理。另一个过程是flume采集的数据下载到hdfs,以便后期使用hadoop或spark进行离线处理。其实在学习flume的时候,主要是学习阅读flume官网的文档,学习各种阵型的配置参数,因为使用flume就是编写各种配置。

  8)卡夫卡

  Kafka是一个消息队列,经常在工作中的实时处理场景中作为中间缓冲层使用,例如Flume-Kafka-Storm/spark streaming。学习卡夫卡主要是掌握主题、分区、复制等概念和原理。

  9)风暴

  Storm是一个实时计算框架,和hadoop的区别在于hadoop处理的是离线的海量数据,而storm是实时处理每一个新的数据,一个接一个,可以保证数据处理的时效性。学习storm主要研究拓扑的编译,storm并行性的调整,storm如何整合kafka实时消费数据。

  10)火花

  Spark现在也发展的很好,也发展成了一个生态圈。spark包含了很多技术,比如spark core,spark steaming,spark mlib,spark graphx。spark生态圈包括spark核心的离线处理和spark流的实时处理。这里需要注意的是,storm和spark streaming都是实时处理框架,但主要区别是:storm真的是一个一个处理,而spark streaming是批量处理。

  Spark包含很多框架,所以刚开始只能学习spark core和spark streaming。一般这是搞大数据的人用的。Spark mlib和spark graphx可以等你有时间的时候再考虑后期工作或者学习的需要。

  11)弹性搜索

  Elasticsearch是一个适合海量数据实时查询的全文搜索引擎,支持分布式集群。其实底层是基于lucene的。查询时支持快速粘贴查询,如计数、distinct、sum、avg等。但我们不支持join操作。Elasticsearch目前也有一个生态系统,ELK(elastic search log stash kibana)是一套完整的日志采集、存储和图表快速查询的典型解决方案。在学习elasticsearch的时候,主要学习了如何使用es进行添加、删除、检查,es中索引、类型、文档的概念,以及es中映射的设计。

  以下是支持资料,对于做【软件测试】的朋友来说应该是最全面最完整的备考仓库。这个仓库也陪我走过了最艰难的旅程,希望也能帮到你!

  

最后:

可以在微信官方账号:伤心辣条!获得一份免费的216页的软件测试工程师面试书文档。以及相应的视频学习教程免费分享!包括基础知识、Linux essentials、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、高级测试-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试的高级持续集成、测试架构开发和测试框架、性能测试、安全测试等。

  不要一个人学习。最好是互相取暖,互相成就,共同成长。质量效应的效果是非常强大的。如果大家一起学习,一起打卡,会更有动力去学习,坚持下去。可以加入我们的测试技术交流扣群:914172719(里面有各种软件测试资源和技术讨论)

  

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

  好文章推荐这些跳槽面试、跳槽面试、软件测试人员必须知道的面试技巧!

  采访:一线城市搬砖!还有软件测试岗,5000就够了…

  面试官:工作三年了,还有初试吗?恐怕你的软件测试工程师头衔需要双引号…

  什么样的人适合做软件测试?

  准时下班的人比我先升职…

  考岗反复跳槽,再跳走…

大数据专业相关知识,大数据专业具备的知识和能力