这里的问题是执行select * from loadTable("dfs://db1", "trades1")涉及的分区太多了,dolphindb中有一个参数maxPartitionNumPerQuery,限制了每一个query涉及的分区数,默认值是65536。
解决方案:
1.将maxPartitionNumPerQuery的值修改得大一点,满足当前的查询。单机single版在server目录下的dolphindb.cfg中修改,集群cluster在server目录下的config目录下的cluster.cfg中修改。
2.按分区,分批备份,可以在select * from loadTable("dfs://db1", "trades1")中加入where条件,限制每一批备份的分区数目。
dolphindb中的backup函数是以分区为单位,备份分布式表的数据。返回一个整数,表示备份成功的分区数量。
dolphindb中的,migrate函数用于恢复数据库中已备份的数据。