
Hadoop有一个名为“HDFS”的分布式文件系统,它的设计目的是提供一个高容错,且能部署在廉价硬件的分布式系统;它的设计参照了Google的GFS(Google分布式文件系统);它能支持高吞吐量,适合大规模数据集应用。
HDFS上的文件被划分为以固定块大小的多个分块(默认为64MB,如此大是为了最小化寻址开销),每个块作一个独立的存储单元。
这样做有两个好处:第一可以存储容量大于单一磁盘容量的文件;第二大大简化了存储子系统的设计(只需要管理块,而且块的元数据并不需要与块一同存储)。将每个块复制到少数几个独立的机器上(默认为3个),可以确保在块、磁盘或机器发生故障后数据不会丢失(即发现一个块不可用,系统会从其他地方读取另一个复本,同时重新复制该复本到一台正常的机器上)。下图展示了这些特性。
HDFS集群由一个NameNode(管理者)和多个dataNode(工作者)组成。HDFS解决了单点问题,HDFS集群的管理者是非常重要。NameNode管理文件系统的命名空间,它维护着文件系统树及整颗树内所有的文件和目录,同时也记录着每个文件中各个块到DataNode。同时,NameNode(管理者)包含主要节点(Primary)和备份节点(Stand by),如果Primary出现问题,Stand By可自动接替Primary继续工作。DataNode主要负责响应文件系统客户端发出的读写请求,同时还将在NameNode的指导下负责执行文件的创建、删除以及复制。
Hadoop的MapReduce(分布式计算模型)处理框架正是基于HDFS构建,它充分利用集群的并行优势来处理存储在HDFS上的数据文件。一个MapReduce任务在集群上以任务跟踪(TaskTracker)执行。每个TaskTracker被Job监控,当发现一个TaskTracker执行失败是,JobTracker就会将该任务分配到其他机器上运行。
在运行MapReduce作业经常会遇到各种问题,为了能进行必要的优化,理解HDFS原理还是很有必要的。下面介绍比较常见的一种情况:小文件如何拖累MapReduce作业及可采取的优化措施。
在MapReduce作业中,Hadoop将其输入数据划分成等长的小数据块,称为输入分片。Hadoop为每个分片构建一个map任务,或者说每一个map操作只处理一个输入分片。每个分片被划分为若干个记录,每条记录就是一个键值对,map一个接一个地处理记录。输入分片包括自己的大小和存储位置,存储位置供MapReduce系统将map任务尽量放在分片附近,分片大小用于排序分片,以便优先处理最大的分片,从而最小化作业运行时间。
在一般的MapReduce作业中,使用最多的输入数据格式通常是存储在HDFS上的文件。Hadoop自带的FileInputFormat类是所有使用文件作为其数据源实现的基类。它提供两个功能:一个用于指出作业的输入文件位置;一个是输入文件生成分片的实现代码段。
一个文件如果大于HDFS的块大小,那么它会被分割成多个块,存储在不同的位置。如果分片的大小大于HDFS的块大小,那么一个分片就会从不同位置读取,需要通过网络传输到map任务节点,与使用本地数据运行整个map任务相比,这种方法效率更低。另一方面,如果分片切分得太小,那么管理分片的总时间和构建map任务的总时间将决定作业的整个执行时间。因此,对于大多数作业来说,一个合理的分片大小趋向于HDFS的一个块的大小,即64MB。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
SQL Server 字符串截取转日期:解锁数据处理的关键技能 在数据处理与分析工作中,数据格式的规范性是保证后续分析准确性的基础 ...
2025-07-04剖析 CDA 数据分析师考试题型:解锁高效备考与答题策略 CDA(Certified Data Analyst)数据分析师考试作为衡量数据专业能力的 ...
2025-07-04CDA 数据分析师视角:从数据迷雾中探寻商业真相 在数字化浪潮席卷全球的今天,数据已成为企业决策的核心驱动力,CDA(Certifie ...
2025-07-04CDA 数据分析师:开启数据职业发展新征程 在数据成为核心生产要素的今天,数据分析师的职业价值愈发凸显。CDA(Certified D ...
2025-07-03从招聘要求看数据分析师的能力素养与职业发展 在数字化浪潮席卷全球的当下,数据已成为企业的核心资产,数据分析师岗位也随 ...
2025-07-03Power BI 中如何控制过滤器选择项目数并在超限时报错 引言 在使用 Power BI 进行数据可视化和分析的过程中,对过滤器的有 ...
2025-07-03把握 CDA 考试时间,开启数据分析职业之路 在数字化转型的时代浪潮下,数据已成为企业决策的核心驱动力。CDA(Certified Da ...
2025-07-02CDA 证书:银行招聘中的 “黄金通行证” 在金融科技飞速发展的当下,银行正加速向数字化、智能化转型,海量数据成为银行精准 ...
2025-07-02探索最优回归方程:数据背后的精准预测密码 在数据分析和统计学的广阔领域中,回归分析是揭示变量之间关系的重要工具,而回 ...
2025-07-02CDA 数据分析师报考条件全解析:开启数据洞察之旅 在当今数字化浪潮席卷全球的时代,数据已成为企业乃至整个社会发展的核心驱 ...
2025-07-01深入解析 SQL 中 CASE 语句条件的执行顺序 在 SQL 编程领域,CASE语句是实现条件逻辑判断、数据转换与分类的重要工 ...
2025-07-01SPSS 中计算三个变量交集的详细指南 在数据分析领域,挖掘变量之间的潜在关系是获取有价值信息的关键步骤。当我们需要探究 ...
2025-07-01CDA 数据分析师:就业前景广阔的新兴职业 在当今数字化时代,数据已成为企业和组织决策的重要依据。数据分析师作为负责收集 ...
2025-06-30探秘卷积层:为何一个卷积层需要两个卷积核 在深度学习的世界里,卷积神经网络(CNN)凭借其强大的特征提取能力 ...
2025-06-30探索 CDA 数据分析师在线课程:开启数据洞察之旅 在数字化浪潮席卷全球的当下,数据已成为企业决策、创新与发展的核心驱 ...
2025-06-303D VLA新范式!CVPR冠军方案BridgeVLA,真机性能提升32% 编辑:LRST 【新智元导读】中科院自动化所提出BridgeVLA模型,通过将 ...
2025-06-30LSTM 为何会产生误差?深入剖析其背后的原因 在深度学习领域,LSTM(Long Short-Term Memory)网络凭借其独特的记忆单元设 ...
2025-06-27LLM进入拖拽时代!只靠Prompt几秒定制大模型,效率飙升12000倍 【新智元导读】最近,来自NUS、UT Austin等机构的研究人员创新 ...
2025-06-27探秘 z-score:数据分析中的标准化利器 在数据的海洋中,面对形态各异、尺度不同的数据,如何找到一个通用的标准来衡量数据 ...
2025-06-26Excel 中为不同柱形设置独立背景(按数据分区)的方法详解 在数据分析与可视化呈现过程中,Excel 柱形图是展示数据的常用工 ...
2025-06-26