2012-05-14 37 views
2

有人知道如何删除hbase中的一行吗?特别是,我想从.META中删除一行,这可能会导致HBase的TableNotFoundException这个非常令人沮丧的问题。我放弃了'.META'的扫描信息。到一个文件,如下,如何删除hbase表中的一行

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的壳说受影响的0行。是的,该命令并未从.META中删除任何行。

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

我知道连续发布两个问题是不好的,但我已经耗尽了Google,并且找不到可以帮助我的事情。提前对不起!

回答

2

如果您对HBase没有深入的了解,您想避免编辑.META。表直接。根据你的描述,这听起来像你真的想从头开始,并删除现有的表'tsdb'并重新创建它。做到这一点的最佳方法是从外壳:

disable 'tsdb' 
drop 'tsdb' 

然后再从头开始。

关于如何删除一行的更一般的问题已经被HBase书籍很好的回答了。你需要一个表名和一个行键。当你扫描一张桌子时,你并没有得到行键。

+0

该表格不能以这种方式丢弃,因为.META。是搞砸了。我可以在shell中列出这个表,但是当我试图扫描这个表时,HBase表示这个表不存在,所以在这种情况下diable/drop不起作用。无论如何,我通过编写一个Java程序删除了该行。行键是非ascii,我想这就是我无法在HBase shell中删除它的原因。 – Sheng

4

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

truncate'table-name'。

并从头开始。

+0

这是一个摆脱整个桌子的选项,但我的问题真的来自.META。在这张桌子上有一些漏洞,使得这张桌子无法进入,即我甚至无法扫描它的外壳。 – Sheng

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/