在hdfs中实现不同的分发模型



据我从hadoop教程中了解到的,它获取输入文件的总体大小,然后将它们划分为块/块,然后将这些块复制到不同的节点上。然而,我想根据以下给定的要求实现数据分布模型-

(a) 情况一:每个文件都被平等地划分为集群中的节点--以便每个映射都获得要访问的表的这个分区。有可能吗?

(b) 情况二:每个文件都在两个或多个节点中完全复制,但不是所有节点。使得每个映射访问每个节点上的表的某些部分。有可能吗?

HDFS不存储表,而是存储文件。更高级别的项目提供"关系表",如Hive。配置单元确实允许您对存储在HDFS上的表进行分区,请参阅配置单元教程。

也就是说,您不应该将分区与集群中的节点数量联系起来。节点来了又走,集群增长又收缩。分区关系表按自然边界分区/存储桶,与集群大小无关。导入、导出和日常操作都在分区中发挥作用(通常比集群大小大得多)。即使是单个表(文件)也可以很好地分布在集群的每个节点上。

如果您想调整MR作业以获得最佳分割大小/位置,有很多方法可以做到这一点。你还有很多东西要读,你优化得太早了。

相关内容

  • 没有找到相关文章

最新更新