Hadoop大数据处理技术
大数据概述
什么是大数据
麦肯锡全球研究所给出的大数据定义是:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。
大数据四个方面特征,既4V
- 大量:
PB
级别以上的数据 - 多样性:数据类型的多样性
- 高速:获取数据量的速度快
- 价值:以低成本创造高价值
大数据的应用场景
医疗行业
- 优化医疗方案,提供最佳的治疗方案
- 有效预防预测疾病
金融行业
- 精准营销
- 风险管控
- 决策支持
- 服务创新
- 产品创新
零售行业
- 精准定位零售行业市场
- 支撑行业收益管理
- 挖掘零售行业新需求
hadoop概述
Hadoop核心组件
- HDFS:分布式存储
- MapReduce:计算框架
- common:
?
Hadoop来源
Google提出的3种处理大数据的技术手段:
- MapReduce:分布式并行计算系统
- BigTable:大型分布式数据库
- GFS:分布式文件系统
hadoop版本
Hadoop1.0内核主要由分布式存储系统HDFS和分布式计算框架MapReduce两个系统组成,而Hadoop2.x版本主要新增了资源管理框架Yarn以及其他工作机制的改变。
Hadoop架构概述
-
NameNode(NN):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等.
-
DataNode(DN):在本地文件系统存储文件块数据,以及数据的校验和
-
Secondary NameNode(2NN):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据快照
Yarn框架
MapReduce架构
MapReduce将计算过程分为两个阶段:Map和Reduce,如图2-25所示
1)Map阶段并行处理输入数据
2)Reduce阶段对Map结果进行汇总
随着Hadoop的不断发展,Hadoop生态体系越来越完善,现如今已经发展成一个庞大的生态体系。
hadoop生态系统
- HDFS分布式文件系统:HDFS是Hadoop的分布式文件系统,它是Hadoop生态系统中的核心项目之一,是分布式计算中数据存储管理基础。
- MapReduce分布式计算框架:MapReduce是一种计算模型,用于大规模数据集(大于1TB)的并行运算。
- Yarn资源管理框架:Yarn(Yet Another Resource Negotiator)是Hadoop 2.0中的资源管理器,它可为上层应用提供统一的资源管理和调度。
- Sqoop数据迁移工具:Sqoop是一款开源的数据导入导出工具,主要用于在Hadoop与传统的数据库间进行数据的转换。
- Mahout数据挖掘算法库:Mahout是Apache旗下的一个开源项目,它提供了一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员方便快捷地创建智能应用程序。
- HBase分布式存储系统:HBase是Google Bigtable克隆版,它是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。
- Zookeeper分布式协作服务:Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和HBase的重要组件。
- Hive基于Hadoop的数据仓库:Hive是基于Hadoop的一个分布式数据仓库工具,可以将结构化的数据文件映射为一张数据库表,将SQL语句转换为MapReduce任务进行运行。
- Flume日志收集工具:Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。