rpc
语法
rpc(nodeAlias, func, args, …)
参数
nodeAlias 是远程节点的别名。
func 是函数,它不能被引用。这个函数可以是内置函数或调用节点上的用户自定义函数。
args 是函数的参数。
详情
在指定的远程节点上调用本地函数,并把结果返回到本地节点。这个函数可以是内置函数或调用节点上的用户自定义函数。
调用节点和远程节点必须在同一集群。否则,我们需要使用 remoteRun 函数。详情请参考 批处理作业管理。
例子
远程调用用户定义函数
$ 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