问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

hadoop 数据偏移怎么解决

发布网友 发布时间:2022-04-23 03:30

我来回答

1个回答

热心网友 时间:2022-04-14 06:40

众所周知,一个“常见”的MapRece程序的Map阶段,是把输入文件分割成很多份,然后一行一行读取,然后进行编程操作。但是这个说法实际上是不严谨的。实际上,在一个“常见”的MapRece任务的Map阶段,启动时是做了以下步骤:
1. 把输入文件分割成M块,一台机器负责其中的几块,这一块叫一个“输入分片”
2. 对于每一块,启动一个任务,运行一个子任务,然后把这一块里面的每一行,一行行输入到Map方法中
这里M的决定十分的复杂,有很多因素能够影响它。例如,若HDFS是按照64M作为一块存储数据的,那么较好的想法就是不要分割这里面的数据块,那么上面M个块的大小有可能会被设为64M。

而这里就会遇到两个问题:
1. 对于某一行输入数据,我该分配这个数据给这M个任务中的哪一个?这些任务又由哪台机器负责处理?
2. 如果发生了某一行输入数据,一半在机器A存放,而另一半在机器B存放,怎么搞?
对于第一个问题,一个比较好的解决方法是,谁有数据谁去做。例如有一行数据,在设置三个复本的情况下,它可能存放于机器A,B,C中,那么我们可以指定这行数据(甚至其所属的块)由机器A去做(实际上更复杂)。
对于第二个问题,最简单的方法就是,在开始的时候,重新划分一下输入分片,然后让某台机器把那半行数据给另一台机器。

而这在“常见”的情况中,是通过记录以下信息实现的:
1. 输入分片所在的文件
2. 输入分片的偏移量
3. 输入分片的长度
4. 输入分片所在机器
而通过这种方法,系统就可以通过上面的信息告诉负责这一个输入分片的机器,要去哪里读取数据。然后,启动的子任务就会把这一个输入分片按行分割,然后同样用偏移量的方法,一行行处理数据。在这种情况中,Map方法的输入KEY就是偏移量了。

那么关于能否不按行读取的问题,实际上,这里有一个implement,叫“InputFormat”,而用户在启动MapRece的时候需要指定一个它的一个实现。而通过重写里面的方法,是可以修改读取数据的方式的。上面我说的“常见”的情况,其实就是在没有指定InputFormat的实现的时候,调用的默认方法。

而具体怎么重写这个方法,并不是我想要讨论的。这里我在尽量不涉及源代码的情况下,用相当不严谨但是较为易懂的语言说了这么多,是想说明一件事:在MapRece程序中,网络负载是一个很重要的瓶颈。为什么要尽量用本地的数据进行处理?为什么会有机架感知功能?这实际上就是为了减轻网络负载。不过实际上,即使是本地的数据,在运作的过程中其也是先发送出去,然后兜一圈返回本机再进行计算。

所以:
1. MapRece编程的一大问题,是如何减轻网络负载。
2. HDFS和MapRece架构的设计,确实十分精妙地考虑了这个问题。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
红米手机怎么设置仅在wifi下载 映泰A770L3 6.x详细参数 映泰A770L3 6.x重要参数 问心诗集电子书txt全集下载 《第26局世界大学生运动会诗歌集》txt全集下载 自由体诗的欣赏txt全集下载 徐志摩诗全集txt全集下载 站立的近义词有哪些 站立的近义词是什么 小学语文教师工作评价1000字 吉林电气工程学院什么样 欧洲牛排怎么做的啊拜托各位了 3Q 生牛排怎么做 使用hdfs fsck检查副本数不足,怎么恢复 HDFS中的块与普通文件系统的块有什么区别? 牛排怎么做??? hdfs提示副本不足的块是什么意思 牛排怎么做啊?谢谢呀 hdfs safe原因 自制牛排怎 Hadoop如何处理?如何增强Hadoop 安全? 牛排是哪个国家发明的 cloudera 提示hdfs 副本不足的块 怎么解决 如何做牛排? hdfs文件修复 hdfs在上传文件的时候,如果其中一个块突然损坏了怎么办 如何恢复hadoop中被删除的文件 谁知道正宗的牛排是如何做的?? 什么是大数据分析Hadoop? 西餐中牛排的做法 hadoop 节点数据块丢失怎么办 阐述HDFS是如何减轻中心节点的负担? 分布式文件系统hdfs主要由哪些功能模块构成 hdfs的client端,复制到第三个副本时宕机,hdfs怎么恢复保证下次写第三副本 格式化hdfs操作是哪一个? WPS文档格式? 榴莲可以冷冻吗? ppt如何设置背景音乐(要在多张幻灯片的播放中持续播放一个音乐) 榴莲放冰箱冻了拿出来还可以吃吗 ppt背景音乐设置、?详细!!! ppt的背景音乐怎么设置呢? ppt背景音乐设置——ppt背景音乐在哪里可以设置啊? 谁能告诉我ppt背景音乐设置在哪里? PPT背景音乐设置,怎样让音乐从头到尾一直播放? 关于ppt背景音乐设置,怎么更换 如何将西红柿洗干净? 小西红柿怎么洗? 怎样清洗西红柿才是干净的 怎么可以轻松的洗掉西红柿渍? 番茄汁怎么洗干净? 微信群接龙截长图,怎么截