Premium

HBase NoSQL Interview Preparation (Q&A)



Question: What is the Deferred Log Flush in HBase ?

Answer : The default behavior for Puts using the Write Ahead Log (WAL) is that HLog edits will be written immediately. If deferred log flush is used, WAL edits are kept in memory until the flush period. The benefit is aggregated and asynchronous HLog- writes, but the potential downside is that if the RegionServer goes down the yet-to-be-flushed edits are lost. This is safer, however, than not using WAL at all with Puts. Deferred log flush can be configured on tables via HTableDescriptor. The default value of hbase.regionserver.optionallogflushinterval is 1000ms.


Question: Can you describe the HBase Client: AutoFlush ?

Answer : When performing a lot of Puts, make sure that setAutoFlush is set to false on your HTable instance. Otherwise, the Puts will be sent one at a time to the RegionServer. Puts added via htable.add(Put) and htable.add( Put) wind up in the same write buffer. If autoFlush = false, these messages are not sent until the write-buffer is filled. To explicitly flush the messages, call flushCommits. Calling close on the HTable instance will invoke flushCommits.

Related Questions


Question: What is the Deferred Log Flush in HBase ?

Question: Can you describe the HBase Client: AutoFlush ?

Question: Can you create HBase table without assigning column family.

Question: In which file the default configuration of HBase is stored.

Question: What is the RowKey.

Question: Please specify the command (Java API Class) which you will be using to interact with HBase table.