大数据名词解析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结构化数据
企业的数据库中的数据,包括条目信息、日期、客户操作信息等。就是行数据。
非结构化数据
文本、图像、音频、视频、网页,各种形式的文档等,无法对其进行描述,采用行存储进入传统的数据库。
半结构化数据
介于两者之间,有一定的数据结构,但不固定且多变。
Mapreduce
Mapreduce是一套软件框架,包括map和reduce两个阶段,他可进行海量数据的并行处理、任务分解与结果汇总,从而完成海量数据的并行处理。Mapreduce的工作原理其实就是先分后和的数据处理方式。Map即“分解”,把海量数据分割成若干部分,分给多台处理器并行处理;reduce即“合并”,对各台处理器处理后的结果进行汇总操作,以得到最终结果。用户只需要提供自己的map以及reduce函数就可以在集群上进行大规模的分布式数据处理。
其重要的意义就是
廉价的机器群可以匹敌任何高性能的计算机
HDFS:Hadoop Distributed File System,
Hadoop的分布式文件系统.
大文件被分成默认64M一块的数据块分布存储在集群机器中(180m 64 64 52)
Hdfs架构中包含的主要节点:
NameNode中记录了文件是如何被拆分成block以及这些block都存储到了那些DateNode节点.
DataNode中存储的是被拆分的blocks.
Hive
在Hadoop中扮演数据仓库的角色。建立在Hadoop集群的最顶层,对存储在Hadoop群上的数据提供类SQL的接口进行操作。并可以将SQL语句转换为Mapreduce任务进行运行,从而快速提取数据。通常用于离线分析
可以将结构化的数据映射为一张数据表,供分析
数据仓库
由于数据仓库的用户(用户通常是业务领域的专家,而不是计算机专业人员)需要利用所有可能的数据快速而正确的做出决策;数据仓库就是为这个需求而建立的,数据仓库的数据有来自于分散的操作型数据,将所需数据从原来的数据中抽取出来,进行加工与集成,统一与综合之后才能进入数据仓库,它是一种存储可以直接被使用的数据的容器。
联机分析处理(OLAP)系统是数据仓库系统最主要的应用,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员,以便他们准确掌握企业(公司)的经营状况,了解对象的需求,制定正确的方案。
Pig
Yahoo公司为不具备mapreduce开发能力的数据分析人员提供的数据处理编程语言。它就想MATLAB一样,内置了许多函数和操作命令,通过这些程序语句对数据流进行处理。
数据流:只能以事先规定好的顺序被读取的数据序列
Pig与HIVE异同
他们都是数据分析层的工具,同处数据分析层,它们却也存在不同的地方。
通常数据处理完成过程要经过三个阶段:数据采集、数据准备、数据呈现。第一个阶段不是它们所关注的,数据准备阶段需要对底层源源不断的数据流进行抽取、转换、加载,就像数据被精细加工的过程,这是pig的用途所在,而接下来数据呈现阶段,需要提供可以直接利用的数据给数据分析师,这就是hive数据仓库的用途所在,可见两种分析工具在不同的方面有各自的侧重,共同完成了数据的分析和呈现。
HBase
传统数据库难以适应多变得数据结构
无法处理高并发的写操作
无法存储多变的数据结构
与传统的关系型数据库不同,基于云计算的大数据处理架构中的数据存储层组件并不要求具有完整的SQL支持能力,也不要求数据采用关系型数据模型严格面向行进行存储。它更强调在大规模数据量的情况下完成快速的数据读写操作,高并发读写、海量数据存储
索引是对数据库表中一个或多个列(例如,employee 表的姓名(name) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。
HCatalog
HCatalog是Hadoop的元数据和数据表的管理系统,它就像数据目录一样,让程序员无需关心数据怎么存储,在哪里存储,并且可以实现Hive,Pig,HBase之间目录的共享。
数据表是数据库中一个非常重要的对象,是其他对象的基础。根据信息的分类情况,一个数据库中可能包含若干个数据表。
Zookeeper
在一个大型分布式集群中,各个功能组件需要部署在数目众多的计算机节点上协同工作,因此,各个节点需要一些配置信息才可以协同工作,这样zookeeper对这些配置信息进行管理和维护。
分布式应用程序协调服务器,用于维护Hadoop集群的配置信息、命名信息等,提供分布式同步工作功能。
Ambari
集群部署与监控集成工具,
它为管理员提供了向导化的集群安装功能,安装完成之后提供集中化的管理界面,可以对个
组件进行启动、停止、配置等操作,在集群正常运行中监控个节点的运行状态,发生故障时提出报警。
数据采集方法:
1、系统日志采集
Chukwa日志采集系统,它可以将各种各样类型的数据收集成适合Hadoop 处理的文件保存在HDFS 中供Hadoop 进行各种MapReduce 操作。
网站每天产生数量庞大的日志文件,要收集,分析这些日志文件可不是件容易的事情,chukwa可以帮助我们在各个节点实时监控日志文件的变化,增量的将文件内容写入HDFS,同时还可以将数据去除重复,排序等。
2、网络数据采集
从网站的公开api(应用程序编程接口)处获取非机构化的数据(图片、音频、视频),抽取出来后以结构化的方式存储于本地数据库中。
3、数据库采集
从数据库中采集出结构化的数据
大数据预处理
从现实世界中采集到的数据大多不完整或者结构不一致,无法直接用于数据分析,预处理就是对这些数据进行清洗、填补、去噪、合并、规格化,为下步数据的存储和分析做好准备。
数据挖掘
数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。数据挖掘涉及的技术方法很多,有多种分类法。根据挖掘任务可分为分类或预测模型发现、数据总结、聚类、关联规则发现、序列模式发现、依赖关系或依赖模型发现、异常和趋势发现等等;根据挖掘对象可分为关系数据库、面向对象数据库、空间数据库、时态数据库、文本数据源、多媒体数据库、异质数据库、遗产数据库以及环球网Web;根据挖掘方法分,可粗分为:机器学习方法、统计方法、神经网络方法和数据库方法。机器学习中,可细分为:归纳学习方法(决策树、规则归纳等)、基于范例学习、遗传算法等。统计方法中,可细分为:回归分析(多元回归、自回归等)、判别分析(贝叶斯判别、费歇尔判别、非参数判别等)、聚类分析(系统聚类、动态聚类等)、探索性分析(主元分析法、相关分析法等)等。神经网络方法中,可细分为:前向神经网络(BP算法等)、自组织神经网络(自组织特征映射、竞争学习等)等。数据库方法主要是多维数据分析或OLAP方法,另外还有面向属性的归纳方法。