hbase複製表的結構 HBase 的表結構

2021-10-18 11:16:00 字數 2056 閱讀 7211

hbase 是乙個nosql資料庫,用於處理海量資料,可以支援10億行百萬列的大表,下面就了解一下資料是如何存放在hbase表中的

為了更好的理解hbase表的思路,先回顧一下關聯式資料庫中表的處理方式

例如有乙個使用者表user_info,有欄位:id、name、tel,表名字段需要在建表時指定

create table user_info (    id 型別,    name 型別,    tel 型別)
然後插入兩條資料

insert into user_info values(...)
表結構

後來字段不夠用了,新使用者需要記錄位址,就要新增乙個字段

以後再增加需求時,就繼續新增字段,或者新增乙個擴充套件表

上面的內容主要說明的是:

下面看一下hbase的處理方式

建表時要指定的是:表名、列族

建表語句

create 'user_info', 'base_info', 'ext_info'
意思是新建乙個表,名稱是user_info,包含兩個列族base_info和ext_info

列族是列的集合,乙個列族中包含多個列

這時的表結構:

row key是行鍵,每一行的id,這個欄位是自動建立的,建表時不需要指定

插入一條使用者資料:name為『a』,tel為『123』

插入語句

put 'user_info', 'row1', 'base_info:name', 'a'put 'user_info', 'row1', 'base_info:tel', '123'
意思是向user_info表中行健為row1的base_info列族中新增一項資料 name:a,接著又新增一項資料tel:123

name和tel就是具體字段,屬於base_info這個列族

這時的表結構:

再插入一條資料:name為『b』,addr為『beijing』

put 'user_info', 'row2', 'base_info:name', 'b'put 'user_info', 'row2', 'ext_info:addr', 'bj'
這時的表結構:

hbase表中還有乙個重要概念:版本,每個欄位的值都有版本資訊(通過時間戳指定)

例如 base_info:name,每次修改時都會保留之前的值,就是說可以取到他的舊值

從上面建表、插入資料的過程可以看出 hbase 儲存資料的特點了

hbase 複製表資料

copytable是hbase提供的乙個資料同步工具,可以用於同步表的部分或全部資料 使用步驟 1.建立目標表。表的列族和原表列族保持一致。如果不一致可以修改 先增加新的 alter 表名 後刪除舊的 alter 表名 delete cf 2.進入到hbase的bin目錄下執行命令 hbase or...

hbase 複製表結構 Hbase容災與備份

一 前言 本文主要介紹 hbase 常用的三種簡單的容災備份方案,即copytable export import snapshot。分別介紹如下 copytable可以將現有表的資料複製到新錶中,具有以下特點 usage copytable general options starttime x ...

oracle 複製表與複製表結構

一 複製表的語法 create table 表名稱 as 子查詢 例子 複製oracel安裝後的預設資料庫scott中的表emp create table myemp as select from emp 此例是表示表結構和表內容一起複製過來了。二 複製表結構 create table 表名稱 as...