HDFS:Exact dfs.block.size 的含义
HDFS:Exact meaning of dfs.block.size
在我们的集群中,dfs.block.size 配置为 128M,但我看到不少文件的大小为 68.8M,这是一个奇怪的大小。我对这个配置选项究竟如何影响文件在 HDFS 上的外观感到困惑。
- 我想确定的第一件事是,理想情况下文件的大小是否与已配置的块大小一致?在这里我的意思是理想情况下文件和块在一对一的映射中
- 如果文件不是天生的小而是由 MR 作业生成的,那么这些小文件的可能原因是什么?
- 还有一点要补充的是,我们正在使用配置单元动态分区功能,我不确定这是否是问题的根源之一。
对于小文件的来源,我已经查看了这个博客,但是 The small files Problem
但情况与我的不太相符,这让我的困惑仍然存在。
希望任何人都可以给我一些见解。非常感谢。
文件可以小于块,在这种情况下它不会占据文件系统中的整个块大小。阅读这个答案:
如果您使用具有动态分区加载的 Hive,小文件通常由 reducer 生成,每个 reducer 写入许多分区。
insert overwrite table mytable partition(event_date)
select col1, col2, event_date
from some_table;
例如,如果您 运行ning 上面的命令并且最后一步总共有 200 个 reducer 和 20 个不同的 event_date 分区,那么每个 reducer 将在每个分区中创建文件。它将产生 200x20=4000 个文件。
为什么会这样?因为数据在 reducer 之间随机分布,每个 reducer 接收所有分区数据并在每个分区中创建文件。
如果加上distribute by partition key
insert overwrite table mytable partition(event_date)
select col1, col2, event_date
from some_table
distribute by event_date;
然后前面的mapper步骤会根据distribution by对数据进行分组,reducers会接收整个分区文件,并在每个分区文件夹中创建单个文件。
您可以向分发方式添加其他内容以创建更多文件(以及 运行 更多 reducer 以获得更好的并行性)。阅读这些相关答案:, ,
在我们的集群中,dfs.block.size 配置为 128M,但我看到不少文件的大小为 68.8M,这是一个奇怪的大小。我对这个配置选项究竟如何影响文件在 HDFS 上的外观感到困惑。
- 我想确定的第一件事是,理想情况下文件的大小是否与已配置的块大小一致?在这里我的意思是理想情况下文件和块在一对一的映射中
- 如果文件不是天生的小而是由 MR 作业生成的,那么这些小文件的可能原因是什么?
- 还有一点要补充的是,我们正在使用配置单元动态分区功能,我不确定这是否是问题的根源之一。 对于小文件的来源,我已经查看了这个博客,但是 The small files Problem
但情况与我的不太相符,这让我的困惑仍然存在。 希望任何人都可以给我一些见解。非常感谢。
文件可以小于块,在这种情况下它不会占据文件系统中的整个块大小。阅读这个答案:
如果您使用具有动态分区加载的 Hive,小文件通常由 reducer 生成,每个 reducer 写入许多分区。
insert overwrite table mytable partition(event_date)
select col1, col2, event_date
from some_table;
例如,如果您 运行ning 上面的命令并且最后一步总共有 200 个 reducer 和 20 个不同的 event_date 分区,那么每个 reducer 将在每个分区中创建文件。它将产生 200x20=4000 个文件。
为什么会这样?因为数据在 reducer 之间随机分布,每个 reducer 接收所有分区数据并在每个分区中创建文件。
如果加上distribute by partition key
insert overwrite table mytable partition(event_date)
select col1, col2, event_date
from some_table
distribute by event_date;
然后前面的mapper步骤会根据distribution by对数据进行分组,reducers会接收整个分区文件,并在每个分区文件夹中创建单个文件。
您可以向分发方式添加其他内容以创建更多文件(以及 运行 更多 reducer 以获得更好的并行性)。阅读这些相关答案:,