Coursera 笔记

Module 02 · Introduction to the Hadoop Ecosystem

Hadoop EcosystemHadoop 生态系统

Coursera ↗

欢迎观看《Hadoop生态系统》视频!通过观看此视频,您将能够:

  • 列出 Hadoop 生态系统的各个阶段
  • 区分 核心组件与扩展组件
  • 列举 每个阶段使用的一些工具示例

Hadoop 生态系统概述 

Hadoop 生态系统由多个相互支持的组件组成,用于大数据处理。除了 Hadoop 的核心组件外,Hadoop Common 是支持其他 Hadoop 模块的公共工具和库。

核心组件

  • Hadoop Distributed File System (HDFS):用于存储从各个数据源收集到的数据,并将数据分发到多个节点。
  • MapReduce:用于通过在集群中处理数据,使大数据变得可管理。
  • YARN (Yet Another Resource Negotiator):是跨集群的资源管理器。

扩展组件

扩展 Hadoop 生态系统由常与 Hadoop 核心一起使用或安装的库或软件包组成。它们支持 Hadoop 进行大数据的处理。


Hadoop 生态系统的各个阶段 

我们可以根据不同的阶段来审视 Hadoop 生态系统。以下是四个主要阶段:

  1. 数据摄取(Ingest)
  2. 数据存储(Store)
  3. 数据处理与分析(Process and Analyze)
  4. 数据访问(Access)

1. 数据摄取(Ingest) 

当涉及到大数据时,数据来源通常很广泛。首先使用工具如 Flume 和 Sqoop 来摄取数据。

  • Flume:是一种分布式服务,用于收集、聚合并传输大数据到存储系统。它基于流式数据流的简单架构,并使用一个可扩展的数据模型,支持在线分析应用。
  • Sqoop:是一个开源工具,用于在关系型数据库系统和 Hadoop 之间传输大规模数据。Sqoop 通过扫描关系型数据库来总结数据结构,并生成 MapReduce 代码,用于按需导入和导出数据。

2. 数据存储(Store) 

  • HDFS:Hadoop 分布式文件系统,用于存储摄取到的数据。
  • HBase:是一个基于列的非关系型数据库系统,运行在 HDFS 上,为 Hadoop 文件系统提供实时访问。它使用哈希表存储数据,并允许随机访问数据,使得查询更加高效。
  • Cassandra:一个可扩展的 NoSQL 数据库,设计时没有单点故障的风险,广泛用于分布式数据存储。

3. 数据处理与分析(Process and Analyze) 

在数据分析阶段,使用以下工具:

  • Pig:用于分析大量数据,Pig 是一种过程化的数据流语言,采用命令和顺序操作。它用于处理大数据集并通过其脚本对数据进行转换和聚合。
  • Hive:主要用于创建报表,运行在集群的服务器端。Hive 是一种声明式编程语言,用户可以表达他们希望获取的数据,而不需要关注具体的计算过程。

4. 数据访问(Access) 

在此阶段,用户可以访问经过分析和精炼的数据。以下是常用的工具:

  • Impala:是一个可扩展的系统,允许非技术用户在 Hadoop 中搜索和访问数据,无需编程技能。
  • Hue:是 Hadoop 用户体验(Hadoop User Experience)的缩写,允许用户上传、浏览并查询数据。用户可以通过 Hue 执行 Pig 作业和工作流,同时提供一个 SQL 编辑器,支持 Hive、MySQL 等多种查询语言。

总结 

在本视频中,您学到了:

  • Hadoop 生态系统的四个主要阶段:数据摄取、存储、处理与分析、数据访问
  • 与每个阶段相关的一些工具示例
  • 每个阶段是如何与其他阶段相互作用的

Hadoop 生态系统中的各个工具和组件共同作用,帮助我们高效地处理和分析大数据。