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