Spark:从任务中确定驱动程序地址

时间:2016-08-10 19:58:24

标签: apache-spark pyspark

出于调试目的,我想从spark任务(在执行程序中运行)向驱动程序机器发送消息。 docs声称spark.driver.host包含此信息,但我不知道如何从工作人员(或来自驱动程序)访问该信息......

2 个答案:

答案 0 :(得分:2)

$("#iFrame").contents().find("input[type='button']")

但是司机不是你需要的。你需要一个工人。所以在你的rdd.mapPartitions块中尝试类似这样的代码:

sc.getConf.get("spark.driver.host")

检查http://localhost以获得更精确的方法。

答案 1 :(得分:1)

通过捕获的全局变量将驱动程序的IP传递给工作人员:

import socket
driver_ip_addr = socket.gethostbyname(socket.gethostname())

def process_data(data):
    # Do some work ...
    send_log_msg(driver_ip_addr, "hello!")
    # Do some more work...

processed_data = my_rdd.map(process_data).collect()