gpt4 book ai didi

hadoop - 如何理解 "hadoop is good for sequential data access"

转载 作者:可可西里 更新时间:2023-11-01 15:05:15 25 4
gpt4 key购买 nike

我试图比较在本地文件系统和 HDFS 之间写入大文件的性能。结果有点让我困惑。写入本地所用的时间比 HDFS 短。我不明白“Hadoop 适合顺序数据访问”这个概念...

[root@datanodetest01 tmp]# dd if=/dev/zero of=testfile count=1 bs=256M
1+0 records in
1+0 records out
268435456 bytes (268 MB) copied, 0.324765 s, 827 MB/s

[root@datanodetest01 tmp]# time hadoop fs -put testfile /tmp

real 0m3.461s
user 0m6.829s
sys 0m0.666s

最佳答案

HDFS 有很多好处,列在 herehere

请注意,无论您将数据存储在本地磁盘还是存储在 HDFS 上,最终您都希望对数据进行一些处理。在这种情况下,所有大数据技术堆栈都利用 HDFS 特性以容错方式提供快速数据处理。

在本地和 hdfs 中复制数据的区别可以简单地归因于以下事实:

1) HDFS 至少制作 3 个数据副本,使其以高可用的方式工作,无论机器是否集群 kaput。

2) 在 HDFS 中,数据副本跨集群维护在不同的机器上,因此会发生一些网络 I/O。

另请注意 - ref http://hadooptutorials.co.in/tutorials/hadoop/hadoop-fundamentals.html

Hadoop 使用 block 来存储文件或文件的一部分。Hadoop block 是底层文件系统上的一个文件。由于底层文件系统将文件存储为 block ,因此一个Hadoop block 可能由底层文件系统中的许多 block 组成。 block 很大。它们默认为每个 64 兆字节,大多数系统以 128 兆字节或更大的 block 大小运行。

Hadoop 专为流式或顺序数据访问而不是随机访问而设计。顺序数据访问意味着更少的查找,因为 Hadoop 只查找每个 block 的开头并从那里开始顺序读取。

给出了很好的阅读 - Hadoop sequential data access

关于hadoop - 如何理解 "hadoop is good for sequential data access",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32440549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com