gpt4 book ai didi

hadoop - 如何在 Hadoop 中设置数据 block 大小?改变它有好处吗?

转载 作者:可可西里 更新时间:2023-11-01 14:45:27 24 4
gpt4 key购买 nike

如果我们可以更改 Hadoop 中的数据 block 大小,请告诉我该怎么做。更改 block 大小是否有利,如果是,请告诉我为什么以及如何?如果否,请告诉我原因和方法?

最佳答案

您可以随时更改 block 大小,除非 dfs.blocksize参数在 hdfs-site.xml 中定义为 final。

改变 block 大小

  1. 运行时hadoop fs命令你可以运行 hadoop fs -Ddfs.blocksize=67108864 -put <local_file> <hdfs_path> .此命令将保存 64MB block 大小的文件
  2. 运行时hadoop jar命令 - hadoop jar <jar_file> <class> -Ddfs.blocksize=<desired_block_size> <other_args> . Reducer 将使用定义的 block 大小,同时将输出存储在 HDFS 中
  3. 作为 map reduce 程序的一部分,您可以使用 job.set 并设置值

改变 block 大小的标准:

  1. 通常 128 MB 的未压缩文件就可以了
  2. 您可以考虑减小压缩文件的 block 大小。如果压缩率太高,那么具有更大的 block 大小可能会减慢处理速度。如果压缩编解码器不可拆分,则会加剧问题。
  3. 只要文件大小大于 block 大小,就不需要更改 block 大小。如果处理数据的映射器数量非常多,您可以通过增加拆分大小来减少映射器的数量。例如,如果您有 1TB 的数据和 128 MB 的 block 大小,那么默认情况下它将需要 8000 个映射器。您可以考虑将拆分大小更改为 512 MB 甚至 1 GB,而不是更改 block 大小,这样处理数据所需的映射器数量就会少得多。

我已在本 performance tuning 的第 2 和第 3 部分中介绍了大部分内容播放列表。

关于hadoop - 如何在 Hadoop 中设置数据 block 大小?改变它有好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34419869/

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