是否可以指定在哪些节点上运行特定的映射器作业?在节点上拥有分布式数据,并希望在包含该数据的节点上运行作业
我不确定是否有可靠的方法来确保映射任务在特定节点上运行。您可以创建自定义InputFormat
并覆盖InputFormat.getLocations()
,以仅返回要运行拆分的节点的主机名。但是,这些位置只是对MR框架的建议,它可以选择忽略它们。
Apache Hadoop开箱即用并不支持它。但是,MapR发行版(1(支持此功能。