【发布时间】:2012-01-19 22:24:19
【问题描述】:
I read that 每当客户端需要在 HDFS(Hadoop 分布式文件系统)中创建文件时,客户端的文件必须为 64mb。 这是真的吗? 我们如何在 HDFS 中加载小于 64 MB 的文件? 我们可以加载一个仅供参考以处理其他文件的文件吗?必须对所有数据节点都可用?
【问题讨论】:
I read that 每当客户端需要在 HDFS(Hadoop 分布式文件系统)中创建文件时,客户端的文件必须为 64mb。 这是真的吗? 我们如何在 HDFS 中加载小于 64 MB 的文件? 我们可以加载一个仅供参考以处理其他文件的文件吗?必须对所有数据节点都可用?
【问题讨论】:
我读到,每当客户端需要在 HDFS(Hadoop 分布式文件系统)中创建文件时,客户端的文件必须为 64mb。
您能提供相同的参考吗?任何大小的文件都可以放入 HDFS。该文件被分成 64 MB(默认)的块并保存在集群中的不同数据节点上。
我们是否可以加载一个文件,该文件仅供处理其他文件时参考,并且必须可供所有数据节点使用?
块或文件是在特定数据节点上还是在所有数据节点上都没有关系。数据节点只要是集群的一部分,就可以相互获取数据。
将 HDFS 视为一个非常大的硬盘驱动器并编写用于从 HDFS 读取/写入数据的代码。如果需要,Hadoop 将处理诸如“读取”或“写入”多个数据节点之类的内部问题。
【讨论】:
The DataNodes form a pipeline, the order of which minimizes the total network distance from the client to the last DataNode. Bytes are pushed to the pipeline as a sequence of packets. The bytes that an application writes first buffer at the client side. After a packet buffer is filled (typically 64 KB), the data are pushed to the pipeline.。您可以在 SO 中发帖或直接邮寄给我。