如何只获取分布式表的句柄而不用载入数据?

db=database("dfs://db1",RANGE,0 20 50 101)
n=100000
id=rand(100,n)
val=rand(100.0,n)
t=table(id,val)
pt=db.createPartitionedTable(t,`pt,`id).append!(t);
tmp=table(rand(100,10000) as id,take(200.0,10000) as val);

>tableInsert(pt,tmp);
10000

类似上例,tableInsert或者table.append!(t)等向分布式表中添加数据的函数,案例给出的都是pt=db.createPartitionedTable(t,pt,id),这是先创建一个空表pt,然后对pt进行操作.
如果pt是一个已经存在的数据量巨大的表,除了pt=loadTable()这种方式获得pt的句柄用于新增数据之外,怎么能只获取pt句柄而不用载入数据,毕竟表内数据量巨大.

请先 登录 后评论

1 个回答

Juntao Wang

与传统的数据库不同,DolphinDB是集数据库、编程语言和分布式计算于一体的系统。数据库和表在DolphinDB中是一个普通变量,并不存在独立的保留空间。因此,每次访问数据库或表时都要使用database或loadTable函数将它们赋予到变量中。

需要注意的是,分布式表loadTable时,不加载实际数据,只加载表的元数据,比如表结构之类信息。

请先 登录 后评论