Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
561 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 Reply

0 votes
by (71.8m points)

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...