Namenode 的 MetaData 和 Hive 的 Metastore

Namenode's MetaData and Hive's Metastore

在 Hadoop 中,因为我们已经有了 NameNode 的元数据,它包含块所在位置的所有信息,现在当我阅读 Hive 的 Metastore 时,我无法了解 MetaStore 的用途。为什么我们需要 Metastore 一种新的索引。为什么我们不能使用 Namenode 的元数据而不是使用新的东西。

Namenode 的元数据存储块位置。当您请求一个文件时,namenode 会指向您具体托管该文件的三个数据节点(具有默认复制)。 Namenode 的元数据不会跟踪它存储的文件类型。

Hive 的元数据存储了更多的映射。当你在 Hive 中创建一个 table 时,你定义了底层数据应该如何映射到列以及输入应该被视为什么类型的文件。 Hive metastore 为不同的 tables 跟踪这个,允许你有,例如,一个 table 的 Avro 格式输入,另一个 JSON,第三个作为简单的TSV 文本文件。