在hadoop流媒体中,有没有办法获取处理给定任务的节点的ID?
通过类比,这个片段给出了任务输入文件的名称:
#!/usr/bin/env python
import os
map_input_file = str(os.environ["map_input_file"])
我正在寻找像os.environ [“map_node_id”]这样的东西。节点的任何唯一句柄都可以工作......
答案 0 :(得分:1)
您只需使用mapper / reducer中的套接字模块即可获取datanode的主机名:
import socket
...
node = socket.gethostname()