HDFS is a Java-based file system utilized for storing large data sets.
HDFS has a rigid architecture that does not allow changes. It doesn’t facilitate dynamic storage.
HDFS is ideally suited for write-once and read-many times use cases.
HBase is a Java based Not Only SQL database
HBase allows for dynamic changes and can be utilized for standalone applications.
HBase is ideally suited for random write and read of data that is stored in HDFS.