hadoop - 不使用 HDFS 时的数据局部性

标签 hadoop hdfs

当您为 Hadoop 的 Map/Reduce 部分提供不同于 HDFS 的存储(如 MySql 服务器等)时,它的数据局部性特性会发生什么变化?换句话说,我的理解是 Hadoop Map/Reduce 使用数据局部性来尝试在数据所在的同一节点上启动 map 任务,但是当数据存储在 sql sever 中时,任务节点上没有本地数据,因为所有数据都在 sql server 节点中。那么在那种情况下我们会丢失数据局部性还是数据局部性的定义正在改变?如果它改变了,新的定义是什么?

最佳答案

如果数据不在集群中,则没有数据局部性。必须从远程源复制所有数据。这与任务无法在包含 HDFS 中数据的节点上运行一样。有几种使用远程源的输入格式,包括 S3、HBase 和 DB。如果您可以将数据放在 HDFS 中,那就太好了。对于经常更新的少量数据,我经常使用 Mongo 作为远程源,我对结果很满意。

关于hadoop - 不使用 HDFS 时的数据局部性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9171016/

相关文章:

java - HBase 连接为空,缺少依赖项、配置或某些属性

eclipse - Eclipse hadoop mapreduce插件不起作用?

Hadoop yarn : How to force a Node to be Marked "LOST" instead of "SHUTDOWN"?

hadoop - hadoop 应用程序中的流式数据访问和延迟

hadoop - 添加新数据节点 - 在新节点上格式化?

hadoop - 未找到 HiveServer 类异常

hadoop - Eclipse的Hadoop开发工具插件

hadoop - HDFS dfs 完整路径

hadoop - DataNodes硬盘驱动器

image - hadoop文件系统(HDFS)可以存储视频类型的文件吗?