如何删除hbase表中的一行

时间:2012-05-14 19:16:53

标签: hbase

有人知道在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中的任何行。

在这种情况下,有没有人可以告诉我什么是删除行的正确命令?

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

3 个答案:

答案 0 :(得分:5)

您也可以尝试使用命令

截断表格

截断'table-name'。

从头开始。

答案 1 :(得分: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/

答案 2 :(得分:2)

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

disable 'tsdb'
drop 'tsdb'

然后再从头开始。

HBase一书很好地回答了如何删除行的更一般的问题。您需要表名和行键。扫描表时,您不会只获得行键。