DolphinDB使用案例7:远程函数调用

  • 远程节点上运行本地函数

    当需要把本地函数发送到远程节点执行时,我们无需关注函数定义之间的依赖关系或者是函数需要的数据,因为DolphinDB会自动把它们发送到远程节点。

  • 定义函数

    # 定义函数1
    def job1(x){
    	sleep(5000)
    	return x.sum()
    }
    # 定义函数2
    def job2(x,y){
    	job1_ID = submitJob("job1_ID", "", job1{x)
    	sleep(4000)
    	job1result = getJobReturn(job1_ID, true)
    	return job1result + y.sum()
    }
    # 定义函数3
    def job3(x,y,z){
    	job2_ID = submitJob("job2_ID", "", job2{x,y})
    	sleep(3000)
    	job2result = getJobReturn(job2_ID, true)
    	return job2result + z.sum()
    }
    # 给定数据
    x=[1,2]
    y=[1,2,3]
    z=[1,2,3,4]
                            
    # 发送到远程
    job3_ID = rpc("174-node1", submitJob{"job3_ID", "remote run", job3{x,y,z}})
    rpc("174-node1", getJobReturn{job3_ID,true});
    

    在倒数第二行,我们使用了rpc函数来执行远程函数调用。以下信息会自动发送到远程节点:

    • job3的函数定义和依赖的函数定义job1job2
    • 数据xyz
  • 未完待续

    因为目前还没有布署远程节点,暂时没法测试,等后续布署完成再来实验

  • References

  1. DolphinDB官网

你可能感兴趣的:(TSDB,KDB+,DolphinDB)