Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
647 views
in Technique[技术] by (71.8m points)

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


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句柄而不用载入数据,毕竟表内数据量巨大.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share

2.1m questions

2.1m answers

63 comments

56.5k users

...