如何把本地存储的数据文件快速写入远程server端的DolphinDB数据库

我的数据文件是本地存储的,不在dolphindb的server端上,有没有办法不把本地存储的数据文件上传到server端,通过本地客户端直接写入远程server端的DolphinDB数据库中?

请先 登录 后评论

1 个回答

Johhny

DolphinDB可以通过xdb函数连接到远程节点,执行xdb函数的节点可以不在远程节点的集群中,然后将本地的内存表,直接写入远程节点的分布式数据库中。
所以,上述场景的一种解决方案如下:
1.在本地部署一个最简单的单节点server(2分钟搞定);
2.将通过dolphindb GUI把本地数据文件加载到内存表中;
3.在本地的dolphindb GUI中通过xdb连接到远程节点,将内存表存入远程节点的数据库中。
示例代码如下:

filePath ="F:/Data/test.csv"//本地数据文件
t=ploadText(filePath)//加载到本地内存表

//通过xdb()建立远程连接,将当前系统中的内存表t存储到另一个系统中的分区数据库中
conn = xdb("192.168.1.150",24115,"admin","123456")

remoteRun(conn,"
if(existsDatabase('dfs://testRongcheng')){
    dropDatabase('dfs://testRongcheng')
}")

remoteRun(conn, "db=database('dfs://testRongcheng',VALUE,2020.01.01..2021.01.01)")
remoteRun(conn, "colNames = `时间`PA_EMS1_EMS2_T0009;colTypes = [TIMESTAMP,INT]")
remoteRun(conn, "t=table(1:0,colNames,colTypes)")
remoteRun(conn, "tableTest=db.createPartitionedTable(t,`tableTest,`时间)")
remoteRun(conn, "append!{tableTest}",t)
remoteRun(conn, "select * from tableTest")
请先 登录 后评论