-1

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

4

1 回答 1

2

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

Hive 的元数据存储了更多的映射。在 Hive 中创建表时,您定义了基础数据应如何映射到列以及输入应被视为哪种类型的文件。Hive 元存储会为不同的表跟踪这一点,例如,一个表的输入是 Avro 格式,另一个是 JSON,第三个是简单的 TSV 文本文件。

于 2015-07-07T14:06:34.660 回答