我有一个使用 grpc 的 Spark 2 应用程序,以便客户端应用程序可以连接到它。
但是,我希望 grpc 代码仅在驱动程序节点上启动,而不是在工作节点上启动。
Spark 2 中是否有可能检查当前运行代码的节点是否是驱动程序节点?
我不喜欢使用“主机”的方式,你依赖于匹配正确的接口,而且,同一个节点可以同时包含驱动程序和主节点。就个人而言,我设置了一个环境变量
spark.executorEnv.RUNNING_ON_EXECUTOR=yes
Run Code Online (Sandbox Code Playgroud)
然后在我的代码中(在这里使用 Python,但它应该可以使用任何其他语言):
import os
if "RUNNING_ON_EXECUTOR" in os.environ:
//Run executor code
else:
//run driver code
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1450 次 |
最近记录: |