元数据的重要性
三个重要理由,让我们不得不在意元数据
- 元数据允许用户通过一张表的高一级逻辑抽象,而不是HDFS中文件的简单几何,或者HBase中的表来与数据交互.这意味着用户不比关心数据是如何存储的,存储到了什么地方
- 元数据允许用户提供数据的信息(如分区或者排序特性),而后通过不同个的工具(用户或者其他人写入的)利用这些信息生成或者查询工具
- 元数据允许数据管理工具链接该元数据,而且允许用户执行数据查找(查找可用的数据,并查找如何使用该数据)与数据血缘分析(追踪一个给定数据集的来源或者起源)
元数据
一般来说,元数据指的是关于数据的数据.在Hadoop生态系统中,元数据有很多种.
-
与逻辑数据集有关的元数据
包括以下信息:数据集的位置(比如HDFS中的目录或者HBase中表的名称),与数据集有关的模式.数据集的分区与排序特性(如果有).以及适用的数据集格式(比如CSV.TSV.SequenceFile,等等)此类元数据通常存储于独立的元数据残酷中.
-
与HDFS文件有关的元数据
包括以下信息:该文件的武安县与属主,以及数据节点上不同数据块的位置.此类信息通常通过Hadoop NameNode进行存储和管理
-
与HBase表相关的元数据
包括以下信息:表的名称.相关名称空间.相关属性(如MAX_FILESIZE,READONLY,等等),以及列簇的名称.此类信息有HBase存储和管理.
-
与数据输入和转化有关的元数据
包括以下信息: 创建执行数据集的特定用户,数据集的来源,创建数据集花费的时间,以及存在多少条记录,或者加载的数据大小是多少.
-
与数据集统计相关的元数据
包括以下信息:数据集中行的数量,每列中特定值的数量,数据分布的直方图以及最大值和最小值,此类元数据用于不同的工具.这些工具能够利用元数据优化执行计划.它们也能提供数据分析师使用,他们可以基于元数据进行快速分析