1.使用SDB导出工具将数据从SDB中导出,并存储到宿主机(自身WINDOWS);
2.导出格式必须是CSV;
3.安装redhat7.2系统;
4.进行SDB集群部署3.0,三复制组,一机一组一节点;
5.数据需要切分到三机上;
6.数据导入SDB中;
导出数据到宿主机

安装redhat 7.2系统



SDB部署,三复制组,一机一组一节点




三个复制组
var dataRG1 = db.createRG("group1")
dataRG1.createNode("rhsdbserver1", 11820, "/opt/sequoiadb/database/data/11820")
dataRG1.start()
var dataRG2 = db.createRG("group2")
dataRG2.createNode("rhsdbserver2", 11820, "/opt/sequoiadb/database/data/11820")
dataRG2.start()
var dataRG3 = db.createRG("group3")
dataRG3.createNode("rhsdbserver3", 11820, "/opt/sequoiadb/database/data/11820")
dataRG2.start()
数据导入SDB
首先,创建域
//创建域:
db.createDomain('domain1',['group1','group2','group3'],{AutoSplit:true})
db.listDomains()

创建 reader 表
//创建集合空间:
db.createCS("test",{Domain:"domain1"})
//创建主表:
db.test.createCL("reader",{IsMainCL:true,ShardingKey:{r_contact:1},ShardingType:"range"})
//创建子表:
db.test.createCL("bar1",{ShardingType:"hash",ShardingKey:{r_id:1}})
db.test.createCL("bar2",{ShardingType:"hash",ShardingKey:{r_id:1}})
db.test.createCL("bar3",{ShardingType:"hash",ShardingKey:{r_id:1}})
//在主分区集合下挂载子分区集合:
db.test.reader.attachCL("test.bar1",{LowBound:{r_contact:"13000000001"},UpBound:{r_contact:"13900000001"}})
db.test.reader.attachCL("test.bar2",{LowBound:{r_contact:"1390000001"},UpBound:{r_contact:"15000000001"}})
db.test.reader.attachCL("test.bar3",{LowBound:{r_contact:"15000000001"},UpBound:{r_contact:"19000000001"}})
创建 book 表
//创建主表,snappy压缩:
db.test.createCL("book",{IsMainCL:true,ShardingKey:{b_intime:1},ShardingType:"range",Compressed:true,CompressionType:"snappy"})
//创建子表,snappy压缩:
db.test.createCL("book_bar1",{ShardingType:"hash",ShardingKey:{b_id:1},Compressed:true,CompressionType:"snappy"})
db.test.createCL("book_bar2",{ShardingType:"hash",ShardingKey:{b_id:1},Compressed:true,CompressionType:"snappy"})
db.test.createCL("book_bar3",{ShardingType:"hash",ShardingKey:{b_id:1},Compressed:true,CompressionType:"snappy"})
//在主分区集合下挂载子分区集合:
db.test.book.attachCL("test.book_bar1",{LowBound:{b_intime:"19950101"},UpBound:{b_intime:"20050101"}})
db.test.book.attachCL("test.book_bar2",{LowBound:{b_intime:"20050101"},UpBound:{b_intime:"20150101"}})
db.test.book.attachCL("test.book_bar3",{LowBound:{b_intime:"20150101"},UpBound:{b_intime:"20250101"}})
创建 borrow 表
//创建主表,lzw压缩:
db.test.createCL("borrow",{IsMainCL:true,ShardingKey:{bw_outtime:1},ShardingType:"range",Compressed:true,CompressionType:"lzw"})
//创建子表,lzw压缩:
db.test.createCL("borrow_bar1",{ShardingType:"hash",ShardingKey:{bw_id:1},Compressed:true,CompressionType:"lzw"})
db.test.createCL("borrow_bar2",{ShardingType:"hash",ShardingKey:{bw_id:1},Compressed:true,CompressionType:"lzw"})
db.test.createCL("borrow_bar3",{ShardingType:"hash",ShardingKey:{bw_id:1},Compressed:true,CompressionType:"lzw"})
//在主分区集合下挂载子分区集合:
db.test.borrow.attachCL("test.borrow_bar1",{LowBound:{bw_outtime:"19950101"},UpBound:{bw_outtime:"20050101"}})
db.test.borrow.attachCL("test.borrow_bar2",{LowBound:{bw_outtime:"20050101"},UpBound:{bw_outtime:"20150101"}})
db.test.borrow.attachCL("test.borrow_bar3",{LowBound:{bw_outtime:"20150101"},UpBound:{bw_outtime:"20250101"}})
导入数据到SDB
//把test.reader.csv数据导入到test.reader表
bin/sdbimprt -c test -l reader --file tmp/test.reader.csv --fields "r_id int,r_name String,r_pwd String,r_sex String,r_typeid String,r_academy String,r_major String,r_contact String,r_email String,r_photo String" --headerline true -n 100 --errorstop true
//把test.book.csv数据导入到test.book表
bin/sdbimprt -c test -l book --file tmp/test.book.csv --fields "b_id int,b_name String,ISBN String,b_bkcaseid String,b_price int,b_author String,b_typeid String,b_intime String,b_synopsis String,b_state int,b_photo String" --headerline true -n 100 --errorstop true
//把test.borrow.csv数据导入到test.borrow表
bin/sdbimprt -c test -l borrow --file tmp/test.borrow.csv --fields "bw_id int,bw_bookid String,bw_readerid String,bw_outtime String,bw_endtime String,bw_backtime String,bw_isexpired String,bw_fine int" --headerline true -n 100 --errorstop true



数据导入成功
