相关疑难解决方法(0)

Hadoop流程记录如何跨块边界分割?

根据 Hadoop - The Definitive Guide

FileInputFormats定义的逻辑记录通常不适合HDFS块.例如,TextInputFormat的逻辑记录是行,它们将经常跨越HDFS边界.这与你的程序的功能没有关系 - 例如,线路不会丢失或损坏 - 但值得了解,因为它确实意味着数据本地地图(即,与他们在同一主机上运行的地图)输入数据)将执行一些远程读取.这导致的轻微开销通常不显着.

假设记录行分为两个块(b1和b2).处理第一个块(b1)的映射器将注意到最后一行没有EOL分隔符,并从下一个数据块中取出剩余的行(b2).

映射器如何处理第二个块(b2)如何确定第一个记录是不完整的并且应该从块(b2)中的第二个记录开始处理?

hadoop split mapreduce block hdfs

118
推荐指数
3
解决办法
3万
查看次数

在Hadoop中更改文件分割大小

我在HDFS目录中有一堆小文件.虽然文件的体积相对较小,但每个文件的处理时间量很大.也就是说,一个64mb文件,它是默认的分割大小TextInputFormat,甚至需要花费几个小时来处理.

我需要做的是减少分割大小,这样我就可以利用更多的节点来完成工作.

所以问题是,怎么可能通过让我们说分割文件10kb?我需要实现我自己InputFormatRecordReader这一点,或有任何参数设置?谢谢.

java hadoop mapreduce distributed-computing

24
推荐指数
2
解决办法
5万
查看次数

标签 统计

hadoop ×2

mapreduce ×2

block ×1

distributed-computing ×1

hdfs ×1

java ×1

split ×1