周五部门培训Ambari,虽然之前也接触过大数据,也只是随便看看,要是说到他们之前有什么关系,就突然不知道了,所以总结一下,做个记录。也欢迎大家补充。
一、知识总结:
1、什么是大数据
大数据是指无法在一定时间范围内用传统的计算机技术进行处理的海量数据集。
2、什么是Hadoop
Apache Hadoop是一款支持数据密集型分布式应用程序并以Apache 2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop是根据谷歌公司发表的MapReduce和Google文件系统的论文自行实现而成。所有的Hadoop模块都有一个基本假设,即硬件故障是常见情况,应该由框架自动处理。
Hadoop框架透明地为应用提供可靠性和数据移动。它实现了名为MapReduce的编程范式:应用程序被分割成许多小部分,而每个部分都能在集群中的任意节点上运行或重新运行。此外,Hadoop还提供了分布式文件系统,用以存储所有计算节点的数据,这为整个集群带来了非常高的带宽。MapReduce和分布式文件系统的设计,使得整个框架能够自动处理节点故障。它使应用程序与成千上万的独立计算的计算机和PB级的数据连接起来。现在普遍认为整个Apache Hadoop“平台”包括Hadoop内核、MapReduce、Hadoop分布式文件系统(HDFS)以及一些相关项目,有Apache Hive和Apache HBase等等。
3、什么是数据仓库
数据仓库是为查询和分析而不是事务处理而设计的数据库。
数据仓库是通过整合不同的异构数据源而构建起来的。
数据仓库的存在使得企业或组织能够将整合、分析数据工作与事务处理工作分离。
数据能够被转换、整合为更高质量的信息来满足企业级用户不同层次的需求。
4、什么是zookeeper
Apache ZooKeeper是Apache软件基金会的一个软件项目,他为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。[需要解释] ZooKeeper曾经是Hadoop的一个子项目,但现在是一个独立的顶级项目。
ZooKeeper的架构通过冗余服务实现高可用性。因此,如果第一次无应答,客户端就可以询问另一台ZooKeeper主机。ZooKeeper节点将它们的数据存储于一个分层的命名空间,非常类似于一个文件系统或一个前缀树结构。
5、什么是Hbase
HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java。它是Apache软件基金会的Hadoop项目的一部分,运行于HDFS文件系统之上,为 Hadoop 提供类似于BigTable 规模的服务。因此,它可以对稀疏文件提供极高的容错率。
HBase在列上实现了BigTable论文提到的压缩算法、内存操作和布隆过滤器。HBase的表能够作为MapReduce任务的输入和输出,可以通过Java API来访问数据,也可以通过REST、Avro或者Thrift的API来访问。
6、什么是ETL
ETL是Extract-Transform-Load的缩写(提取-转换-载入),是一个完整的从源系统提取数据,进行转换处理,载入至数据仓库的过程。
我们从联机事务数据库中提取数据,进行转换处理,匹配数据仓库模式,然后载入至数据仓库数据库中。
在通常情况下,大多数的数据仓库要整合非联机事务数据库系统的数据,例如来源文本文件、日志、电子表格等等。
下面我们一起看看ETL是怎么工作的。
例如一个公司,有关于其不同部门的数据记录,销售、市场、物流等等。每个部门所处理的客户信息是独立的,而且存储的数据也是相对不同的,假如销售团队有存储客户的姓名,而物流团队存储的是用户 的ID。
现在我们想要去检查客户的历史数据,并且想要了解他/她在不同的营销活动中购买的不同产品是什么。这将是一项非常枯燥的工作。
该解决方案就是使用数据仓库应用统一的结构来存储经过ETL处理过的不同源的数据。
ETL能够转换不同结构/类型的数据集为统一的结构,以便后续使用BI工具生成有意义的分析和表报。
- Extract
(1)提取有效的数据 - Transform
(1)将提取的数据转换为数据仓库模式/格式
(2)构建keys:一个key是一个或多个数据属性的惟一标识实例,key的类型可以是主键(primary key)、外键(foreign key)、替代键(alternate key)、复合键(composite key)以及代理键(surrogate key)。这些key只允许数据仓库进行维护管理,且不允许其他任何实体进行分配。
(3)数据清理:在提取好数据后,则进入下一个节点:数据清理。对提取的数据中的错误进行标识和修复。解决不同数据集之间的不兼容的冲突问题,使数据一致性,以便数据集能用于目标数据仓库。通常,通过转换系统的处理,我们能创建一些元数据(meta data)来解决源数据的问题,并改进数据的质量。 - Load
(1)将转换后的数据载入数据仓库
(2)构建聚集:创建聚集对数据进行汇总并存储数据至表中,以改进终端用户的查询体验。
7、什么是BI?
BI(Business Intelligence)即商务智能,它是一套完整的解决方案,用来将企业中现有的数据(原始数据或商业数据或业务数据等)进行有效的整合,快速准确地提供报表并提出决策依据,帮助企业做出明智的业务经营决策。
原始数据记录了企业日常事务,例如与客户交互的信息、财务信息,员工相关记录等等。
这些数据可以用于汇报、分析、挖掘、数据质量、交互、预测分析等等。
二、大数据应用测试步骤
上面罗列了这么多,下面我们一起看看大数据应用的测试过程是怎么样的。
整体而言,大数据测试大体可以分为三大步骤:
步骤一,数据预处理验证
在进行大数据测试时,首先要预hadoop前验证数据的准确性等等。
我们数据来源可能是关系数据库、日志系统、社交我那个落等等,所有我们应该确保数据能正确的加载到系统中
我们要验证加载的数据和源数据是一致的
我们要确保正确的提取和加载数据至hdfs中
步骤二,Map Reduce验证 在进行大数据测试时,第二个关键步骤是“Map Reduce”验证。在本阶段,我们主要验证每一个处理节点的业务逻辑是否正确,并验证在多个运行后,确保:
Map Reduce过程工作正常
数据聚合、分离规则已经实现
数据key-value关系已正确生成
验证经过map reduce后数据的准确性等特性
步骤三,结果验证 在本阶段主要验证在经过大数据工具/框架处理后,生成的最终数据的成果。
主要验证:
验证数据转换规则是否正确应用
验证数据的完整性和是否成功持久化到目标系统
验证无数据损坏
文章内容转自开源优测:https://mp.weixin.qq.com/s?__biz=MzI0NDQ5NzYxNg==&mid=2247484096&idx=1&sn=048f9ac17e17bae12d073056de2e3aef&chksm=e95daf7fde2a2669eccbe430b26f2b3d9436df5ae8722182644c5374ae00fb3a868175e18689&scene=21#wechat_redirect
https://mp.weixin.qq.com/s?__biz=MzI0NDQ5NzYxNg==&mid=2247484082&idx=1&sn=be6c8a95f77bfada936e0c93dbb75ff6&chksm=e95daf0dde2a261b569fb7c135eebf40c554e6f6621605654016c6a319919400e954ab4078e8&scene=21#wechat_redirect