一、收获
1.这是假期的第六周,主要学习了学习关于Hadoop的介绍,了解到的Hadoop是由Java编写的Apache开源框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集,并且还了解到了Hadoop的相关架构以及是如何工作的。
(1)基础概念
-
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
-
主要解决,海量数据的存储和海量数据的分析计算问题。
-
广义上来说,Hadoop通常是指一个更广泛的概念-Hadoop生态圈。
(2)Hadoop框架包括以下四个模块:
Hadoop Common | 这些是其他Hadoop模块所需的Java库和实用程序。这些库提供文件系统和操作系统级抽象,并包含启动Hadoop所需的Java文件和脚本 |
Hadoop YARN | 这是一个用于作业调度和集群资源管理的框架 |
Hadoop Distributed File System (HDFS™) | 分布式文件系统,提供对应用程序数据的高吞吐量访问 |
Hadoop MapReduce | 这是基于YARN的用于并行处理大数据集的系统 |
(3)MapReduce
Hadoop MapReduce是一个软件框架,用于轻松编写应用程序,以可靠,容错的方式在大型集群(数千个节点)的商用硬件上并行处理大量数据。MapReduce是指Hadoop
程序执行下的两个不同任务,分别是:
-
The Map Task: 此任务将map任务的输出作为输入,并将这些数据元组合并为较小的元组集合。
-
The Reduce Task: reduce任务总是在map任务之后执行。
(4)Hadoop分布式文件系统(HDFS)
Hadoop可以直接与任何可安装的分布式文件系统(如本地FS,HFTP FS,S3 FS等)一起工作,但Hadoop使用的最常见的文件系统是Hadoop分布式文件系统(HDFS)。
Hadoop分布式文件系统(HDFS)基于Google文件系统(GFS),并提供一个分布式文件系统,该系统设计为在大型集群(数千台计算机)上运行小型计算机机器以可靠,容错方式。
(5)Hadoop如何工作:
阶段 1:
用户/应用程序可以通过指定以下项目来向Hadoop(hadoop作业客户端)提交作业以获取所需的进程:
-
分布式文件系统中输入和输出文件的位置。
-
java类以jar文件的形式包含map和reduce函数的实现。
-
通过设置作业的不同参数来配置作业。
阶段 2:
Hadoop作业客户端然后将作业(jar /可执行文件等)和配置提交给JobTracker,JobTracker然后承担将软件/配置分发给从属的责任,Hadoop作业客户端然后将作业(jar /可执行文件等)和配置提交给JobTracker,JobTracker然后承担将软件/配置分发给从属的责任,
阶段 3:
不同节点上的TaskTracker根据MapReduce实现执行任务,reduce函数的输出存储在文件系统上的输出文件中。
2.每天主要花费1个小时来学习,并且会根据当天学习任务的多少与难度进行调整。
二、下周目标
下周继续学习大型数据库的基础知识
三、遇到问题
本周的知识是了解性知识,没有遇到问题。