table 被截断后,Hbase 从快照恢复 table
Hbase restore table from snapshot after the table is truncated
我按顺序执行了下面的语句:
hbase> snapshot 'table1', 'snap_table1'
hbase> disable 'table1'
hbase> truncate 'table1'
hbase> restore_snapshot 'snap_table1'
hbase> scan 'table1'
当我扫描表 1 时,
我有 0 行(基本上它有 108,415,618 行)
'snap_table1' 和 'table1' 发生了什么事?
另外,我在下面执行了。
table2恢复成功snap_table1
hbase> clone_snapshot 'snap_table1' , 'table2'
我是Hbase的新手,每天都在学习。
你能给我有关快照详细信息的资源以供研究吗?
谢谢!
删除 table 'table1' 而不是截断它。
restore_snapshot 来自 'snap_table1'
对我有用。
hbase> disable 'table1'
hbase> drop 'table1'
hbase> restore_snapshot 'snap_table1'
不知道truncate操作的秘密
但我想这是相同的结果。
我认为你应该尝试这样的事情:
snapshot 'TableName', 'SnapshotName'
... 删除旧的/创建新的/或截断 table,然后:
clone_snapshot 'SnapshotName', 'TableName'
此外,请记住,如果您只使用 truncate
命令,table 区域拆分结构将被破坏(即空的 table 将只有一个新的地区)。如果您想保留旧的区域结构,请改用 truncate_preserve
。如果您想试验这些选项,请使用 describe 命令查看结果 tables 中的差异。
我按顺序执行了下面的语句:
hbase> snapshot 'table1', 'snap_table1'
hbase> disable 'table1'
hbase> truncate 'table1'
hbase> restore_snapshot 'snap_table1'
hbase> scan 'table1'
当我扫描表 1 时, 我有 0 行(基本上它有 108,415,618 行)
'snap_table1' 和 'table1' 发生了什么事?
另外,我在下面执行了。
table2恢复成功snap_table1
hbase> clone_snapshot 'snap_table1' , 'table2'
我是Hbase的新手,每天都在学习。
你能给我有关快照详细信息的资源以供研究吗?
谢谢!
删除 table 'table1' 而不是截断它。
restore_snapshot 来自 'snap_table1'
对我有用。
hbase> disable 'table1'
hbase> drop 'table1'
hbase> restore_snapshot 'snap_table1'
不知道truncate操作的秘密
但我想这是相同的结果。
我认为你应该尝试这样的事情:
snapshot 'TableName', 'SnapshotName'
... 删除旧的/创建新的/或截断 table,然后:
clone_snapshot 'SnapshotName', 'TableName'
此外,请记住,如果您只使用 truncate
命令,table 区域拆分结构将被破坏(即空的 table 将只有一个新的地区)。如果您想保留旧的区域结构,请改用 truncate_preserve
。如果您想试验这些选项,请使用 describe 命令查看结果 tables 中的差异。