您当前的位置:首页 > 互联网百科 > 大数据

学习大数据的第一步-了解Hadoop输入输出系统

时间:2019-08-29 09:32:36  来源:  作者:



与任何I / O子系统不同,Hadoop还带有一组原语。当然,这些原始考虑因素虽然是通用的,但也与Hadoop IO系统一起使用,并具有一些特殊的内涵。Hadoop处理数TB的数据集; 对这些原语的特殊考虑将让我们了解Hadoop如何处理数据输入和输出。本文快速浏览这些原语,以便对Hadoop输入输出系统进行透视。

数据的完整性

数据完整性意味着数据在其存储,处理和检索操作中应保持准确和一致。为了确保在持久性和处理期间没有数据丢失或损坏,Hadoop保持严格的数据完整性约束。每次读/写操作都发生在磁盘中,因此通过网络更容易出错。而且,Hadoop处理的数据量只会加剧这种情况。检测损坏数据的常用方法是通过校验和。一个校验当数据首次进入系统并在检索过程中通过通道发送时计算。检索端再次计算校验和并与接收的校验和匹配。如果它完全匹配,则认为数据没有错误,否则它包含错误。但问题是 - 如果校验和发送本身是腐败的呢?这是极不可能的,因为它是一个小数据,但不是一个不可否认的可能性。使用诸如ECC存储器之类的正确硬件可以用于缓解这种情况。

这仅仅是检测。因此,为了纠正错误,使用另一种称为CRC(循环冗余校验)的技术。

Hadoop更进一步,为每512个(默认)字节数据创建一个独特的校验和。由于CRC-32仅为4字节,因此存储开销不是问题。进入系统的所有数据在转发存储或进一步处理之前由数据节点验证。发送到datanode管道的数据通过校验和进行验证,发现的任何损坏都会立即通过ChecksumException通知客户端。从datanode读取的客户端也经历了相同的钻取。数据节点维护校验和验证日志以跟踪已验证的块。在从客户端接收到块验证成功信号时,由datanode更新日志。此类统计信息有助于防止坏磁盘出现问题。

除此之外,在DataBlockScanner的帮助下,在后台运行datanode线程,对块存储进行定期验证。这可以保护数据免受物理存储介质中的损坏。

Hadoop维护数据的副本或副本。这特别用于从大规模腐败中恢复数据。一旦客户端在读取块时检测到错误,它会在抛出ChecksumException之前立即向datanode报告namenode中的坏块。然后,namenode将其标记为坏块,并将对块的任何进一步引用安排到其副本。以这种方式,副本与其他副本一起维护,并且标记的坏块从系统中移除。

对于在Hadoop LocalFileSystem中创建的每个文件,都会创建一个在同一目录中具有相同名称的隐藏文件,扩展名为。<filename> .crc。此文件维护文件中每个数据块(512字节)的校验和。元数据的维护有助于在扔之前检测读取错误ChecksumExceptionLocalFileSystem

压缩

记住Hadoop处理的数据量,压缩不是奢侈品,而是要求。Hadoop正确使用的文件压缩有许多明显的好处。它节省了存储要求,是加速网络和磁盘上数据传输的必备功能。Hadoop常用的工具,技术和算法很多。它们中的许多都非常受欢迎,并且已经在历史上用于文件压缩。例如,经常使用gzip,bzip2,LZO,zip等。

序列化

将结构化对象转换为字节流的过程称为序列化。这是通过网络传输数据或在磁盘中保留原始数据时特别需要的。反序列化只是一个反向过程,其中一个字节流被转换为结构化对象。这对于原始字节的对象实现尤其需要。因此,分布式计算在几个不同的领域中使用它并不奇怪:进程间通信和数据持久性。

Hadoop使用RPC(远程过程调用)来实现节点之间的进程间通信。因此,RPC协议使用序列化和反序列化的过程将消息呈现给字节流,反之亦然,并通过网络发送消息。但是,该过程必须足够紧凑,以便最好地利用网络带宽,以及快速,可互操作和灵活,以适应随时间推移的协议更新。

Hadoop有自己的紧凑和快速序列化格式,Writable,MapReduce程序用来生成键和值类型。

文件的数据结构

有几个高级容器在Hadoop中详细说明了专用数据结构,以容纳特殊类型的数据。例如,为了维护二进制日志,SequenceFile容器提供了用于保持二进制键值对的数据结构。然后我们可以使用密钥,例如LongWritable表示的时间戳和Writable的值,它指的是记录的数量。

还有另一个容器,SequenceFile的排序派生,称为MapFile。它提供了按键方便查找的索引。

这两个容器是可互操作的,可以相互转换。

结论

这只是Hadoop输入/输出系统的快速概述。我们将在后续文章中深入研究许多复杂的细节。如果人们对I / O系统有基本的了解,那么理解Hadoop输入/输出系统并不是很困难。Hadoop简单地为它添加了一些额外的果汁以跟上其在大规模数据中工作的分布式特性。就这样。



Tags:Hadoop   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
查看当前目录信息 hadoop fs -ls /上传文件 hadoop fs -put /本地路径 /hdfs路径剪切文件 hadoop fs -moveFromLocal a.txt /aa.txt下载文件到本地 hadoop fs -get /hdfs路...【详细内容】
2021-07-04  Tags: Hadoop  点击:(75)  评论:(0)  加入收藏
一、SMP数据库架构SMP(对称多处理器结构,Symmetric Multi-Processor)数据库架构部署成本相对较低,可以运行从大型服务器到中型商用硬件的各种设备。它在提供合理的性能和吞吐量...【详细内容】
2020-12-01  Tags: Hadoop  点击:(535)  评论:(0)  加入收藏
一、MapReduce概述1、基本概念Hadoop核心组件之一:分布式计算的方案MapReduce,是一种编程模型,用于大规模数据集的并行运算,其中Map(映射)和Reduce(归约)。MapReduce既是一个编程模...【详细内容】
2020-11-23  Tags: Hadoop  点击:(136)  评论:(0)  加入收藏
将 MySQL 的数据导入到 HDFS 中/usr/local/service/sqoop/bin/sqoop-import \--connect jdbc:mysql://$mysqlIP/test \--username root \-P --table sqoop_test \-m 4 \--...【详细内容】
2020-10-21  Tags: Hadoop  点击:(162)  评论:(0)  加入收藏
一、存储机制1、基础描述NameNode运行时元数据需要存放在内存中,同时在磁盘中备份元数据的fsImage,当元数据有更新或者添加元数据时,修改内存中的元数据会把操作记录追加到edit...【详细内容】
2020-10-12  Tags: Hadoop  点击:(70)  评论:(0)  加入收藏
本章大纲4.1 HDFS写数据流程4.1.1 剖析文件写入HDFS写数据流程,如图所示。HDFS写数据流程1)客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文...【详细内容】
2020-06-26  Tags: Hadoop  点击:(80)  评论:(0)  加入收藏
> Photo by Mr Cup / Fabien Barral on Unsplash 随着技术的快速变化,越来越多的数据一直在生成。据最新的全球数据领域估计,到2025年,全世界产生的数据量将增长到175 ZB。公...【详细内容】
2020-05-21  Tags: Hadoop  点击:(119)  评论:(0)  加入收藏
几周前,我写了一篇有关Hadoop的文章,并谈到了它的不同部分。 以及它如何在数据工程中扮演重要角色。 在本文中,我将总结Hadoop中不同的文件格式。 本主题将是一个简短而快速...【详细内容】
2020-04-27  Tags: Hadoop  点击:(75)  评论:(0)  加入收藏
本文的目的是讨论Hadoop 3.0的优缺点。随着Hadoop 3.0中引入了许多更改,它已成为更好的产品。Hadoop 3的主要优缺点Hadoop旨在存储和管理大量数据。Hadoop有许多优点,例如,它是...【详细内容】
2019-12-20  Tags: Hadoop  点击:(95)  评论:(0)  加入收藏
1. Spark是什么?Spark,是一种通用的大数据计算框架,正如传统大数据技术Hadoop的MapReduce、Hive引擎,以及Storm流式实时计算引擎等。Spark包含了大数据领域常见的各种计算框架:比...【详细内容】
2019-12-11  Tags: Hadoop  点击:(118)  评论:(0)  加入收藏
▌简易百科推荐
前言什么是数据脱敏数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护常用脱敏规则替换、重排、加密、截断、掩码良好的数据脱敏实施1、尽...【详细内容】
2021-12-28  linyb极客之路    Tags:数据脱敏   点击:(3)  评论:(0)  加入收藏
张欣安科瑞电气股份有限公司 上海嘉定 201801 摘要:随着电力行业各系统接入,海量数据涌现,如何利用电网信息化中大量数据,对客户需求进行判断分析,服务于营销链条,提升企业市场竞...【详细内容】
2021-12-14  安科瑞张欣    Tags:大数据   点击:(10)  评论:(0)  加入收藏
1、什么是数据分析结合分析工具,运用数据分析思维,分析庞杂数据信息,为业务赋能。 2、数据分析师工作的核心流程:(1)界定问题:明确具体问题是什么;●what 发生了什么(是什么)●why 为...【详细内容】
2021-12-01  逆风北极光    Tags:大数据   点击:(26)  评论:(0)  加入收藏
在实际工作中,我们经常需要整理各个业务部门发来的数据。不仅分散,而且数据量大、格式多。单是从不同地方汇总整理这些原始数据就花了大量的时间,更不用说还要把有效的数据收集...【详细内容】
2021-11-30  百数    Tags:数据   点击:(21)  评论:(0)  加入收藏
数据作为新的生产要素,其蕴含的价值日益凸显,而安全问题却愈发突出。密码技术,是实现数据安全最经济、最有效、最可靠的手段,对数据进行加密,并结合有效的密钥保护手段,可在开放环...【详细内容】
2021-11-26  炼石网络    Tags:数据存储   点击:(17)  评论:(0)  加入收藏
导读:网易大数据平台的底层数据查询引擎,选用了Impala作为OLAP查询引擎,不但支撑了网易大数据的交互式查询与自助分析,还为外部客户提供了商业化的产品与服务。今天将为大家分享...【详细内容】
2021-11-26  DataFunTalk    Tags:大数据   点击:(15)  评论:(0)  加入收藏
导读:数据挖掘是一种发现知识的手段。数据挖掘要求数据分析师通过合理的方法,从数据中获取与挖掘项目相关的知识。作者:赵仁乾 田建中 叶本华 常国珍来源:华章科技数据挖掘是一...【详细内容】
2021-11-23  华章科技  今日头条  Tags:数据挖掘   点击:(20)  评论:(0)  加入收藏
今天再给大家分享一个不错的可视化大屏分析平台模板DataColour。 data-colour 可视化分析平台采用前后端分离模式,后端架构设计采用微服务架构模式。 前端技术:Angularjs、Jq...【详细内容】
2021-11-04  web前端进阶    Tags:DashboardClient   点击:(40)  评论:(0)  加入收藏
在Kubernetes已经成了事实上的容器编排标准之下,微服务的部署变得非常容易。但随着微服务规模的扩大,服务治理带来的挑战也会越来越大。在这样的背景下出现了服务可观测性(obs...【详细内容】
2021-11-02  大数据推荐杂谈    Tags:Prometheus   点击:(40)  评论:(0)  加入收藏
同一产品对老客户的要价竟然比新客户要高?这是当下“大数据杀熟”的直接结果。近年来,随着平台经济的蓬勃发展,大数据在为用户服务之外,也引发了多种不合理现象。为了有效遏制“...【详细内容】
2021-10-29    海外网   Tags:大数据   点击:(31)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条