restoreDB
New in version 2.00.8.
语法
restoreDB(backupDir, dbPath, [newDBPath])
参数
backupDir 字符串,表示存放备份数据的目录。
dbPath 字符串,表示已备份的分布式数据库的路径。
newDBPath 字符串,表示新数据库的名称。如果没有指定,默认值为 dbPath。
详情
恢复备份的数据到数据库。返回包含数据库名称和表名称的表,每一行为完成恢复的数据库及表名称。
该函数与 migrate 类似,都可恢复整个数据库下的所有表,区别见 表。
注意事项:
该函数仅支持恢复以拷贝文件方式(即 backup 时指定 dbPath 参数)进行的备份。
恢复时需要确保备份数据与待恢复数据库的引擎类型(engine)一致,且 partitionScheme(VALUE 除外)也保持一致。 当采用 VALUE 分区时,须保证备份数据中的分区方案是待恢复数据库的分区方案的子集。例如:备份文件的分区方案是 database(“dfs://xxx”, VALUE, 2017.08.07..2017.08.11), 则待恢复数据库的 VALUE 分区范围必须不小于 2017.08.07..2017.08.11。
例子
$ dbName = "dfs://compoDB2"
$ n=1000
$ ID=rand("a"+string(1..10), n)
$ dates=2017.08.07..2017.08.11
$ date=rand(dates, n)
$ x=rand(10, n)
$ t=table(ID, date, x)
$ db1 = database(, VALUE, 2017.08.07..2017.08.11)
$ db2 = database(, HASH,[INT, 20])
$ if(existsDatabase(dbName)){
$ dropDatabase(dbName)
$ }
$ db = database(dbName, COMPO,[ db1,db2])
//创建2个表
$ pt1 = db.createPartitionedTable(t, `pt1, `date`x).append!(t)
$ pt2 = db.createPartitionedTable(t, `pt2, `date`x).append!(t)
$ backupDB(backupDir, dbName)
$ restoreDB(backupDir, dbName)
dbName |
tableName |
---|---|
dfs://compoDB2 |
pt1 |
dfs://compoDB2 |
pt2 |
相关函数:restore, restoreTable, migrate, backup, backupDB, backupTable