Я новичок в Hbase.Hbase хорош для случайных обновлений (помещать или удалять) в таблицу, но я не могу понять, как это работает hbase. Поскольку hbase использует HDFS для своего хранения, и его невозможно обновить что-нибудь в HDFS. Hbase использует memstore, чтобы обновлять записи и записывать любые изменения в memstore first.So MemStore содержит произвольное количество обновленных строк в отсортированном порядке ключа. Когда он выгружает данные на диск в hfile, является ли этот hfile глобально отсортированным с другим hfiles.как hbase random write works
После сброса всех файлов hfile файл hfile реплицируется в формате HDFS. Этот вопрос используется для журнала редактирования WAL. Файл журнала WAL также реплицируется в HDFS или нет. Для каждого обновления мы реплицируем обновление в HDFS.
Спасибо за ответ. Этот блог объяснил все ... Но у вас появилось еще одно сомнение в файле последовательности .... все добавления в файл последовательности будут реплицироваться во все блоки. –
Это часть HDFS. HDFS выполняет аналогичную работу как HBase. Вы записываете данные с помощью OutputStream. что данные буферизуются до размера блока, а затем, как только блок достиг этого размера, реплицируются на N машин. более или менее то, как это работает, вы должны думать, что все неизменно, поэтому у вас нет понятия «запись», когда вы добавляете что-то, добавленное в память, и когда оно достигает порога, данные консолидируются (в блок), а затем реплицируется. – th30z
Большое спасибо. Этот вопрос разразился у меня на весь день .. С большим чтением я получил свой тот же экземпляр HLog, который был предоставлен всеми регионами для записи в wal.I думаю, что экземпляр wal (fsOutputStream) не закрывается между любыми сообщениями. –