Support Questions

Find answers, ask questions, and share your expertise

HBase search using RowKey

New Contributor


1. Can anybody suggest, why rowkey design is so important for create / retrieval of records?


2. Also, how cloudera search (SOLR) can be useful in such cases?


3. Is it mandatory to create secondary indices for retrieval?



Deepak Sharma


Super Collaborator



1/ These articles describe some usefull information about rowkey and its design :




2/ If you need to query your data in HBase by a cells value .. it will be totaly inefficient. Cloudera search can help you in these cases but you will need to index the data into Cloudera search.


3/ Well, I don't have the answer to that but I would recommend you to stick to querying by the "rowkey only" if you need some "performance".



Hope this helps.




New Contributor

Thanks Mathieu

Champion Alumni
If your search based on a subset of the data that is present in hbase table , you could create a solr schema and index the records to solr when it is inserted to hbase.I have used lily indexer/morphlines to do that a couple of years back . You could index the row key in this schema as a hidden value ,so if a user needs a detailed search information you could use that rowkey to query hbase . If the search informatin required is minimal it could be served from cloudera search itself

New Contributor

Hi Nishan,

Does it mean that, I will not have to bother anymore for the Row Key design, if I use solr?

Is there any specific java code, which I need to write inorder to support it ?


I was thinking to use Apache Pheonix, if it does take care of the Row Key design internally.

Any suggestions please ?