Hadoop生态圈

本文最后更新于:8 个月前

介绍Hadoop,以及Hadoop主流的生态组件,包括Spark、Flink
通过理清基本概念,建立起对大数据处理技术的基础认知,适合新手入门!

Hadoop生态圈

一、Hadoop是什么?

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。Hadoop的框架最初的组成部分、也是最核心的设计就是:HDFSMapReduce

Hadoop默认安装是「单机模式」,该模式下无需进行其他配置即可运行。非分布式即单 Java 进程,方便进行调试。读取的是本地数据

「(伪)分布式模式」读取的则是HDFS上的数据。

如何安装使用Hadoop?参见:Hadoop安装教程 - timegogo

二、Hadoop生态圈

img

img

2.1、核心组件

  • HDFS,Hadoop Distribution File System,Hadoop分布式文件系统
  • MapReduce,分布式计算框架

2.2、重要组件

后续发展起来的一些重要组件

  • YARN,资源管理组件,MapReduce2.0的产物
  • Spark,内存计算框架,用来提高计算速度。可以理解为是在Hadoop基础上的改进
  • Mahout,数据挖掘组件,用于机器学习

三、HDFS 分布式文件系统

3.1、组成框架

  • NameNode,主节点(Master节点),用于管理
  • DataNode,从节点(Slave节点),用于储存,是文件储存的基本单位
  • Client,用来与NameNode交互,访问HDFS

img

3.2、HDFS常用命令

bin/hdfs dfs命令 - starzy - 博客园 (cnblogs.com)

四、Spark 内存计算框架

4.1、Scala

基于Java的一门编程语言,集成了面向对象编程和函数式编程,比Java简洁和强大、是Spark使用的主流语言

更多细节请看:Scala——Spark框架使用的主流语言 - timegogo

4.2、Spark是什么

Apache Spark™ is a multi-language engine for executing data engineering, data science, and machine learning on single-node machines or clusters.
——Spark官方

Apache Spark™ 是一个多语言引擎,用于在单节点机器或集群上执行数据工程、数据科学和机器学习。

它提供了JavaScalaPythonR的高级API,以及支持通用执行图的优化引擎。

4.3、Spark工具

  • Spark Core,实现了 Spark 的基本功能,包含RDD、任务调度、内存管理、错误恢复、与存储系统交互等模块
  • Spark SQL,Spark 用来操作结构化数据的程序包。通过它可以使用SQL操作数据
  • Spark Streaming,Spark 提供的对实时数据进行流式计算的组件
  • Spark MLLib,机器学习库
  • Spark GraphX,Spark中用于图计算的API

4.4、Spark的特点

  • 快,基于内存
  • 易用,提供Scala、Java、Python、R四种语言的API
  • 兼容,?

4.5、如何使用Spark

见:Spark从搭建到运行 - timegogo

参考文章

[1].深入浅出大数据:到底什么是Hadoop? - 知乎 (zhihu.com)

[2].Overview - Spark 3.3.1 Documentation (apache.org)

[3].上万字详解Spark Core(建议收藏) - 知乎 (zhihu.com)


Hadoop生态圈
http://timegogo.top/2022/12/01/大数据/Hadoop生态圈/
作者
丘智聪
发布于
2022年12月1日
更新于
2023年7月16日
许可协议