rpc
语法
rpc(nodeAlias, func, args, ...)
参数
nodeAlias 是远程节点的别名。
func 是函数,它不能被引用。这个函数可以是内置函数或调用节点上的用户自定义函数。
args 是函数的参数。
详情
在指定的远程节点上调用本地函数,并把结果返回到本地节点。这个函数可以是内置函数或调用节点上的用户自定义函数。函数的参数暂不支持值为函数定义的字典。
调用节点和远程节点必须在同一集群。否则,我们需要使用 remoteRun 函数。详情请参考 BatchJobManagement。
例子
-
远程调用用户定义函数
rpc("nodeA", def(x,y):x+y, 10, 15)
-
远程调用部分应用
rpc("nodeA", getRecentJobs{10})
-
远程调用引用了用户定义函数的内置函数
def jobDemo(n){ s = 0 for (x in 1 : n) { s += sum(sin rand(1.0, 100000000)-0.5) print("iteration " + x + " " + s) } return s }; // the node "DFS_NODE2" is located in the same cluster as the local node. rpc("DFS_NODE2", submitJob, "jobDemo3", "job demo", jobDemo, 10); // output: jobDemo3 rpc("DFS_NODE2", getJobReturn, "jobDemo3") // output: -3426.577521