Hadoop-01

  1. 1. Hadoop大数据处理技术
    1. 1.1. 大数据概述
      1. 1.1.1. 什么是大数据
      2. 1.1.2. 大数据的应用场景
        1. 1.1.2.1. 医疗行业
        2. 1.1.2.2. 金融行业
        3. 1.1.2.3. 零售行业
    2. 1.2. hadoop概述
      1. 1.2.1. Hadoop核心组件
      2. 1.2.2. Hadoop来源
      3. 1.2.3. hadoop版本
      4. 1.2.4. Hadoop架构概述
      5. 1.2.5. Yarn框架
      6. 1.2.6. MapReduce架构
      7. 1.2.7. hadoop生态系统

Hadoop大数据处理技术

大数据概述

什么是大数据

麦肯锡全球研究所给出的大数据定义是:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。

大数据四个方面特征,既4V

  • 大量:PB级别以上的数据
  • 多样性:数据类型的多样性
  • 高速:获取数据量的速度快
  • 价值:以低成本创造高价值

大数据的应用场景

医疗行业

  1. 优化医疗方案,提供最佳的治疗方案
  2. 有效预防预测疾病

金融行业

  1. 精准营销
  2. 风险管控
  3. 决策支持
  4. 服务创新
  5. 产品创新

零售行业

  1. 精准定位零售行业市场
  2. 支撑行业收益管理
  3. 挖掘零售行业新需求

hadoop概述

Hadoop核心组件

  • HDFS:分布式存储
  • MapReduce:计算框架
  • common:?

Hadoop来源

Google提出的3种处理大数据的技术手段:

  • MapReduce:分布式并行计算系统
  • BigTable:大型分布式数据库
  • GFS:分布式文件系统

hadoop版本

Hadoop1.0内核主要由分布式存储系统HDFS和分布式计算框架MapReduce两个系统组成,而Hadoop2.x版本主要新增了资源管理框架Yarn以及其他工作机制的改变。

Hadoop架构概述

  1. NameNode(NN):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等.

  2. DataNode(DN):在本地文件系统存储文件块数据,以及数据的校验和

  3. 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提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。