4

有人知道在 hbase 中删除一行的方法是什么吗?特别是,我想从 .META. 中删除一行,这可能会导致 HBase 的 TableNotFoundException 非常令人沮丧的问题。我转储了“.META”的扫描信息。到一个文件,如下所示,

scan '.META.'
ROW  COLUMN+CELL
 tsdb,\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001,1336311752340.7cd0d2205d9ae5fcadf843972ec74ec5. column=info:regioninfo, timestamp=1336311752799, value={NAME => 'tsdb,\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001,1336311752340.7cd0d2205d9ae5fcadf843972ec74ec5.', STARTKEY => '\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001', ENDKEY => '\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001', ENCODED => 7cd0d2205d9ae5fcadf843972ec74ec5,}
 tsdb,\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001,1336311752340.7cd0d2205d9ae5fcadf843972ec74ec5. column=info:server, timestamp=1337020364027, value=master.node:60020
 tsdb,\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001,1336311752340.7cd0d2205d9ae5fcadf843972ec74ec5. column=info:serverstartcode, timestamp=1337020364027, value=1337020345458
 tsdb,\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001,1336513006109.8d66c109dd1446c326050055d3b9cb75. column=info:regioninfo, timestamp=1336513006700, value={NAME => 'tsdb,\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001,1336513006109.8d66c109dd1446c326050055d3b9cb75.', STARTKEY => '\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001', ENDKEY => '\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001', ENCODED => 8d66c109dd1446c326050055d3b9cb75,}
 tsdb,\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001,1336513006109.8d66c109dd1446c326050055d3b9cb75. column=info:server, timestamp=1337020363795, value=slave-node-1:60020
 tsdb,\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001,1336513006109.8d66c109dd1446c326050055d3b9cb75. column=info:serverstartcode, timestamp=1337020363795, value=1337020346292
 tsdb,\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001,1336513006109.83ff68701e075f0a228247ac44862c08. column=info:regioninfo, timestamp=1336513006695, value={NAME => 'tsdb,\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001,1336513006109.83ff68701e075f0a228247ac44862c08.', STARTKEY => '\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001', ENDKEY => '\x00\x00\x11O\xA4\xCF\xF0\x00\x00\x01\x00\x00\x06\x00\x00\x02\x00\x00\x1C\x00\x00\x03\x00\x00\x1D\x00\x00\x05\x00\x001', ENCODED => 83ff68701e075f0a228247ac44862c08,} tsdb,\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001,1336513006109.83ff68701e075f0a228247ac44862c08. column=info:server, timestamp=1337020363923, value=slave-node-2:60020
 tsdb,\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001,1336513006109.83ff68701e075f0a228247ac44862c08. column=info:serverstartcode, timestamp=1337020363923, value=1337020346464
 tsdb,\x00\x00\x11O\xA4\xCF\xF0\x00\x00\x01\x00\x00\x06\x00\x00\x02\x00\x00\x1C\x00\x00\x03\x00\x00\x1D\x00\x00\x05\x00\x001,1336383325807.ec0c72f24ff89e1b46a592847db36f4b. column=info:regioninfo, timestamp=1336383326110, value={NAME => 'tsdb,\x00\x00\x11O\xA4\xCF\xF0\x00\x00\x01\x00\x00\x06\x00\x00\x02\x00\x00\x1C\x00\x00\x03\x00\x00\x1D\x00\x00\x05\x00\x001,1336383325807.ec0c72f24ff89e1b46a592847db36f4b.', STARTKEY => '\x00\x00\x11O\xA4\xCF\xF0\x00\x00\x01\x00\x00\x06\x00\x00\x02\x00\x00\x1C\x00\x00\x03\x00\x00\x1D\x00\x00\x05\x00\x001', ENDKEY => '\x00\x00\x12O\xA3\xA8\xA0\x00\x00\x01\x00\x00\x07\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1B\x00\x00\x05\x00\x001', ENCODED => ec0c72f24ff89e1b46a592847db36f4b,}
 tsdb,\x00\x00\x11O\xA4\xCF\xF0\x00\x00\x01\x00\x00\x06\x00\x00\x02\x00\x00\x1C\x00\x00\x03\x00\x00\x1D\x00\x00\x05\x00\x001,1336383325807.ec0c72f24ff89e1b46a592847db36f4b. column=info:server, timestamp=1337020363808, value=slave-node-1:60020
 tsdb,\x00\x00\x11O\xA4\xCF\xF0\x00\x00\x01\x00\x00\x06\x00\x00\x02\x00\x00\x1C\x00\x00\x03\x00\x00\x1D\x00\x00\x05\x00\x001,1336383325807.ec0c72f24ff89e1b46a592847db36f4b. column=info:serverstartcode, timestamp=1337020363808, value=1337020346292
 tsdb,\x00\x00\x12O\xA3\xA8\xA0\x00\x00\x01\x00\x00\x07\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1B\x00\x00\x05\x00\x001,1336383325807.d2df62a47e153781932b33480241068d. column=info:regioninfo, timestamp=1336383326106, value={NAME => 'tsdb,\x00\x00\x12O\xA3\xA8\xA0\x00\x00\x01\x00\x00\x07\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1B\x00\x00\x05\x00\x001,1336383325807.d2df62a47e153781932b33480241068d.', STARTKEY => '\x00\x00\x12O\xA3\xA8\xA0\x00\x00\x01\x00\x00\x07\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1B\x00\x00\x05\x00\x001', ENDKEY => '', ENCODED => d2df62a47e153781932b33480241068d,}
 tsdb,\x00\x00\x12O\xA3\xA8\xA0\x00\x00\x01\x00\x00\x07\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1B\x00\x00\x05\x00\x001,1336383325807.d2df62a47e153781932b33480241068d. column=info:server, timestamp=1337020364031, value=master-node:60020
 tsdb,\x00\x00\x12O\xA3\xA8\xA0\x00\x00\x01\x00\x00\x07\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1B\x00\x00\x05\x00\x001,1336383325807.d2df62a47e153781932b33480241068d. column=info:serverstartcode, timestamp=1337020364031, value=1337020345458
 tsdb-uid,,1336081042372.a30d8074431c6a31c6a0a30e61fedefa. column=info:regioninfo, timestamp=1336081042581, value={NAME => 'tsdb-uid,,1336081042372.a30d8074431c6a31c6a0a30e61fedefa.', STARTKEY => '', ENDKEY => '', ENCODED => a30d8074431c6a31c6a0a30e61fedefa,}
 tsdb-uid,,1336081042372.a30d8074431c6a31c6a0a30e61fedefa. column=info:server, timestamp=1337020363927, value=slave-node-1:60020
 tsdb-uid,,1336081042372.a30d8074431c6a31c6a0a30e61fedefa. column=info:serverstartcode, timestamp=1337020363927, value=1337020346464
6 row(s) in 0.3930 seconds

首先,我不太明白为什么它说结果中有 6 行。从我的角度来看,有更多的行。我需要去掉 .META 的前三行。

所以我尝试了这个

deleteall '.META.', 'tsdb,\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001,1336311752340.7cd0d2205d9ae5fcadf843972ec74ec5.'

hbase shell 说有 0 行受到影响。是的,该命令没有从 .META 中删除任何行。

任何人都可以告诉我在这种情况下删除一行的正确命令是什么?

我知道连续发布两个问题是不好的,但我已经用尽了谷歌,找不到可以帮助我的东西。提前抱歉!

4

3 回答 3

5

您也可以尝试使用以下命令截断表格

截断“表名”。

并从头开始。

于 2012-05-15T06:31:55.143 回答
3

您有 6 行,如下所示:

ROW 1: tsdb,\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001,1336311752340.7cd0d2205d9ae5fcadf843972ec74ec5. column=info:regioninfo, timestamp=1336311752799, value={NAME => 'tsdb,\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001,1336311752340.7cd0d2205d9ae5fcadf843972ec74ec5.', STARTKEY => '\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001', ENDKEY => '\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001', ENCODED => 7cd0d2205d9ae5fcadf843972ec74ec5,}
     tsdb,\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001,1336311752340.7cd0d2205d9ae5fcadf843972ec74ec5. column=info:server, timestamp=1337020364027, value=master.node:60020
     tsdb,\x00\x00\x0FO\xA2\xF1\xD0\x00\x00\x01\x00\x00\x0E\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x13\x00\x00\x05\x00\x001,1336311752340.7cd0d2205d9ae5fcadf843972ec74ec5. column=info:serverstartcode, timestamp=1337020364027, value=1337020345458

ROW 2:
 tsdb,\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001,1336513006109.8d66c109dd1446c326050055d3b9cb75. column=info:regioninfo, timestamp=1336513006700, value={NAME => 'tsdb,\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001,1336513006109.8d66c109dd1446c326050055d3b9cb75.', STARTKEY => '\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001', ENDKEY => '\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001', ENCODED => 8d66c109dd1446c326050055d3b9cb75,}
 tsdb,\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001,1336513006109.8d66c109dd1446c326050055d3b9cb75. column=info:server, timestamp=1337020363795, value=slave-node-1:60020
 tsdb,\x00\x00\x10O\xA3\x8C\x80\x00\x00\x01\x00\x00\x0B\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1A\x00\x00\x05\x00\x001,1336513006109.8d66c109dd1446c326050055d3b9cb75. column=info:serverstartcode, timestamp=1337020363795, value=1337020346292

ROW: 3
 tsdb,\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001,1336513006109.83ff68701e075f0a228247ac44862c08. column=info:regioninfo, timestamp=1336513006695, value={NAME => 'tsdb,\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001,1336513006109.83ff68701e075f0a228247ac44862c08.', STARTKEY => '\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001', ENDKEY => '\x00\x00\x11O\xA4\xCF\xF0\x00\x00\x01\x00\x00\x06\x00\x00\x02\x00\x00\x1C\x00\x00\x03\x00\x00\x1D\x00\x00\x05\x00\x001', ENCODED => 83ff68701e075f0a228247ac44862c08,} tsdb,\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001,1336513006109.83ff68701e075f0a228247ac44862c08. column=info:server, timestamp=1337020363923, value=slave-node-2:60020
 tsdb,\x00\x00\x10O\xA6\xBC \x00\x00\x01\x00\x00\x18\x00\x00\x02\x00\x00\x12\x00\x00\x03\x00\x00\x17\x00\x00\x05\x00\x001,1336513006109.83ff68701e075f0a228247ac44862c08. column=info:serverstartcode, timestamp=1337020363923, value=1337020346464

ROW: 4
 tsdb,\x00\x00\x11O\xA4\xCF\xF0\x00\x00\x01\x00\x00\x06\x00\x00\x02\x00\x00\x1C\x00\x00\x03\x00\x00\x1D\x00\x00\x05\x00\x001,1336383325807.ec0c72f24ff89e1b46a592847db36f4b. column=info:regioninfo, timestamp=1336383326110, value={NAME => 'tsdb,\x00\x00\x11O\xA4\xCF\xF0\x00\x00\x01\x00\x00\x06\x00\x00\x02\x00\x00\x1C\x00\x00\x03\x00\x00\x1D\x00\x00\x05\x00\x001,1336383325807.ec0c72f24ff89e1b46a592847db36f4b.', STARTKEY => '\x00\x00\x11O\xA4\xCF\xF0\x00\x00\x01\x00\x00\x06\x00\x00\x02\x00\x00\x1C\x00\x00\x03\x00\x00\x1D\x00\x00\x05\x00\x001', ENDKEY => '\x00\x00\x12O\xA3\xA8\xA0\x00\x00\x01\x00\x00\x07\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1B\x00\x00\x05\x00\x001', ENCODED => ec0c72f24ff89e1b46a592847db36f4b,}
 tsdb,\x00\x00\x11O\xA4\xCF\xF0\x00\x00\x01\x00\x00\x06\x00\x00\x02\x00\x00\x1C\x00\x00\x03\x00\x00\x1D\x00\x00\x05\x00\x001,1336383325807.ec0c72f24ff89e1b46a592847db36f4b. column=info:server, timestamp=1337020363808, value=slave-node-1:60020
 tsdb,\x00\x00\x11O\xA4\xCF\xF0\x00\x00\x01\x00\x00\x06\x00\x00\x02\x00\x00\x1C\x00\x00\x03\x00\x00\x1D\x00\x00\x05\x00\x001,1336383325807.ec0c72f24ff89e1b46a592847db36f4b. column=info:serverstartcode, timestamp=1337020363808, value=1337020346292

ROW: 5
 tsdb,\x00\x00\x12O\xA3\xA8\xA0\x00\x00\x01\x00\x00\x07\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1B\x00\x00\x05\x00\x001,1336383325807.d2df62a47e153781932b33480241068d. column=info:regioninfo, timestamp=1336383326106, value={NAME => 'tsdb,\x00\x00\x12O\xA3\xA8\xA0\x00\x00\x01\x00\x00\x07\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1B\x00\x00\x05\x00\x001,1336383325807.d2df62a47e153781932b33480241068d.', STARTKEY => '\x00\x00\x12O\xA3\xA8\xA0\x00\x00\x01\x00\x00\x07\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1B\x00\x00\x05\x00\x001', ENDKEY => '', ENCODED => d2df62a47e153781932b33480241068d,}
 tsdb,\x00\x00\x12O\xA3\xA8\xA0\x00\x00\x01\x00\x00\x07\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1B\x00\x00\x05\x00\x001,1336383325807.d2df62a47e153781932b33480241068d. column=info:server, timestamp=1337020364031, value=master-node:60020
 tsdb,\x00\x00\x12O\xA3\xA8\xA0\x00\x00\x01\x00\x00\x07\x00\x00\x02\x00\x00\x19\x00\x00\x03\x00\x00\x1B\x00\x00\x05\x00\x001,1336383325807.d2df62a47e153781932b33480241068d. column=info:serverstartcode, timestamp=1337020364031, value=1337020345458

ROW: 6
 tsdb-uid,,1336081042372.a30d8074431c6a31c6a0a30e61fedefa. column=info:regioninfo, timestamp=1336081042581, value={NAME => 'tsdb-uid,,1336081042372.a30d8074431c6a31c6a0a30e61fedefa.', STARTKEY => '', ENDKEY => '', ENCODED => a30d8074431c6a31c6a0a30e61fedefa,}
 tsdb-uid,,1336081042372.a30d8074431c6a31c6a0a30e61fedefa. column=info:server, timestamp=1337020363927, value=slave-node-1:60020
 tsdb-uid,,1336081042372.a30d8074431c6a31c6a0a30e61fedefa. column=info:serverstartcode, timestamp=1337020363927, value=1337020346464

我正在运行 v0.94.5,它似乎支持“删除”命令。

delete 'TABLE_NAME', 'ROW_KEY', 'COLUMN_NAME', TIMETAMP_VALUE_FOR_CELL

应该做删除条目的技巧,因为您有指向要删除的所有特定单元格的指针。

警告:.META。表包含有关您的区域服务器以及表的布局方式的信息。编辑此文件时应非常小心!除非您非常确定这是您需要的,否则我不建议您修改此表。

来源:http: //blog.safaribooksonline.com/2012/11/16/tip-2-hbase-meta-layout/

于 2013-04-23T18:13:30.797 回答
2

如果你不深入了解 HBase,你想避免编辑 .META。直接表。根据您的描述,听起来您真的想从头开始,删除现有表“tsdb”并重新创建它。最好的方法是从外壳:

disable 'tsdb'
drop 'tsdb'

然后重新从头开始。

HBase 书很好地回答了如何删除行的更一般的问题。您需要一个表名和一个行键。当你扫描一个表时,你得到的不仅仅是行键。

于 2012-05-15T01:11:24.197 回答