您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關hbase中怎么修改表名,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
hbase修改表名
hbase修改表名沒有直接的api可以調用,我們如果想要修改表名,可以利用快照的方式。
需要開啟快照功能,在hbase-site.xml文件中添加如下配置項:
<property>
<name>hbase.snapshot.enabled</name>
<value>true</value>
</property>
命令
hbase shell> disable 'tableName'
hbase shell> snapshot 'tableName', 'tableSnapshot'
hbase shell> clone_snapshot 'tableSnapshot', 'newTableName'
然后我們就可以測試一下新表是否建立成功。
快照是什么?
快照就是一份元信息的合集,允許管理員恢復到表的先前狀態。快照不是表的復制而是一個文件名稱列表,因而不會復制數據。完全快照恢復是指恢復到之前的“表結構”以及當時的數據,快照之后發生的數據不會恢復。
操作
生成快照:本操作嘗試對指定表生成快照。如果集群在執行數據均衡、分隔或合并等操作時,可能會引起操作失敗。
克隆快照:本操作使用與指定快照相同的結構數據構建一張新表。操作結果會生成一張有完整功能的表,對該表的任意修改不會對原表或快照產生影響。
還原快照:本操作將表結構和數據恢復到生成快照時的狀態。(注意:本操作會舍棄快照生成后任何改變)。
刪除快照:本操作將系統中的快照刪除,釋放未共享的磁盤空間,而且不會影響其他克隆或快照。
導出快照:本操作將快照數據和元數據復制到其他集群。操作只會涉及HDFS,不會與Master或域服務器產生任何聯系,因此HBase集群可以關閉。
零復制快照,恢復,克隆
快照和復制/導出表之間的主要差異是快照操作只寫入元數據,不涉及海量數據。
HBase的主要設計原則之一就是一旦文件寫入就不再修改。文件不可變意味著快照只需保持對快照產生時存在的文件追蹤,并且在壓縮時負責提示系統該文件不應刪除而是應當歸檔保存。
同樣的原則也適用于克隆和恢復操作。因為文件是不變的,新建一個表只需要通過快照“鏈接”到文件引用即可。
導出快照是唯一需要復制數據的操作,因為其他集群沒有數據文件。
導出快照 vs 復制/導出表
導出快照與復制/導出表除了更好地保持一致性外,主要的不同在于導出快照是在HDFS的層面操作的。這意味這Master和域服務器與操作無關。因此不需要為不必要的數據創建緩存空間,也不會有掃描過程因為大量對象創建引起的GC暫停。對于HBase來說主要性能影響就是DataNode額外的網絡和磁盤負載。
HBase命令:快照操作
通過檢查hbase-site.xml中的hbase.snapshot.enabled是否設置為true確認打開了快照許可。獲取指定表的快照使用snapshot命令(不產生文件復制)
hbase>snapshot ‘tableName’, ‘snapshotName’
列出所有的快照,使用 list_snapshot 命令。會展示出快照名稱,源表,以及創建日期和時間
hbase>list_snapshots
使用clone_snapshot命令從指定的快照生成新表(克隆)。由于不會產生數據復制,所以最終用到的數據不會是之前的兩倍。
hbase>clone_snapshot ‘snapshotName’, ‘newTableName’
使用restore_snapshot命令將指定快照內容替換當前表結構/數據。
用快照恢復數據,它需要先禁用表,再進行恢復
hbase>disable 'myTable' hbase>restore_snapshot ‘snapshotName’
刪除快照使用 deleted_snapshot 命令。刪除快照不會影響到克隆表或者之后生成的快照。
hbase>delete_snapshot ‘snapshotName’
使用ExportSnapshot工具將現有快照導出至其他集群。導出工具不會影響到域服務器負載,只是工作在HDFS層面所以需要指定HDFS路徑(其他集群的hbase根目錄)
采用16個mappers來把一個名為MySnapshot的快照復制到一個名為hbfreeoa2的集群當中
hbase class org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot MySnapshot -copy-to hdfs://hbfreeoa2:8020/hbase -mappers 16
看完上述內容,你們對hbase中怎么修改表名有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。