In Hadoop, as we have already NameNode's Metadata which is having all information where the blocks are, Now when I was reading about Hive's Metastore I wasn't able to get what is the use of MetaStore. Why we need metastore a new kind of Index. Instead of using new thing why we were not able to use Namenode's Metadata.
The Namenode's metadata stores block locations. When you request a file, the namenode points you to which three datanodes (with default replication) are hosting that file in particular. The Namenode's metatadata does not keep track of what type of files it is storing.
Hive's metadata is stores more of a mapping. When you create a table in Hive, you define how the underlying data should be mapped to columns along with what type of file the input should be treated as. The Hive metastore keeps track of this for the different tables allowing you to have, for example, one table's input in Avro format, another JSON, and a third as a simple TSV text file.