2012-05-14 5 views
2

Кто-нибудь знает, как удалить строку в hbase? В частности, я хотел удалить строку из .META., Которая может способствовать очень расстроенной проблеме TableNotFoundException для HBase. Я сбросил информацию о сканировании «.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. испорчена. Я могу перечислить эту таблицу в оболочке, но когда я попытался проверить эту таблицу, HBase сказал, что эта таблица не существует, поэтому diable/drop не будет работать в этом случае. Во всяком случае, я удалил строку, написав java-программу. Ключ строки не является ascii, и я предполагаю, что это причина, по которой я не могу удалить его в оболочке HBase. – Sheng

4

Вы также можете попробовать усечения таблицы с помощью команды

усечь «имя-таблицы».

и начать с самого начала.

+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/

Смежные вопросы