数仓分层

150 阅读3分钟

Hive 主要作用于数据仓库的数据处理层,也被称作数据仓库的数据存储层(Storage Layer)或处理层(Processing Layer)。在数据仓库架构中,Hive 提供了一个高级的抽象,允许用户通过类似 SQL 的语言(HiveQL)来查询和管理大数据集,而这些数据通常存储在 Hadoop 的 HDFS(Hadoop Distributed File System)中。

数据仓库的典型架构可以分为以下几个层次:

  1. 数据源层(Data Source Layer):这是数据的起点,包括各种原始数据源,如业务系统、日志文件、外部数据等。

  2. 数据抽取转换加载层(ETL Layer):在这一层,数据从源系统被提取出来,经过清洗、转换后加载到数据仓库中,为分析和查询做准备。ETL过程可以利用Hive进行数据的转换和处理。

  3. 数据存储层(Data Storage Layer):这一层是数据仓库的核心,它负责存储处理过的数据。在使用Hadoop生态系统的数据仓库中,Hive 直接作用于这一层,管理存储在HDFS或兼容存储系统中的数据。

  4. 数据逻辑层(Data Logic Layer):这一层通过定义数据模型、视图和索引等逻辑结构,来优化数据的访问和分析。

  5. 数据访问层(Data Access Layer):这是数据仓库的最外层,为最终用户提供数据查询和分析工具,比如 BI 工具、数据分析平台等。用户可以通过HiveQL在这一层对数据进行查询和分析。

Hive 通过提供易于理解的抽象和强大的数据处理能力,使得在Hadoop生态系统中的数据存储和处理变得更加高效和方便。尽管 Hive 主要作用于数据存储层,但它在整个数据仓库架构中发挥着关键作用,特别是在数据处理、管理和查询方面。

宽表星型模型(Star Schema)的构建通常发生在数据仓库的数据模型层或称为模型化层(Modeling Layer),这一层位于数据存储层之上。在整个数据仓库架构中,模型化层负责定义数据的逻辑结构和组织方式,使数据更适合进行分析和查询。星型模型是一种常见的数据仓库模型,它通过中心事实表和围绕事实表的维度表来组织数据,使得数据仓库中的数据结构简单且高效,便于进行多维分析。

具体来说,星型模型的构建包括以下步骤和组成部分:

  1. 事实表(Fact Table):位于模型中心,包含可度量、可计数的业务指标数据,以及指向维度表的外键。

  2. 维度表(Dimension Tables):围绕事实表排列,每个维度表包含了特定业务维度的详细属性信息。这些维度表通过外键与事实表连接。

  3. 宽表构建:宽表是指通过将事实表和相关的维度表进行连接查询而形成的扩展表,其中包含了事实数据和所有相关维度的详细信息,以便于进行复杂的分析和报表生成。

在数据仓库架构中,星型模型的构建通常发生在数据处理和准备阶段完成之后,即在数据已经经过ETL(提取、转换、加载)处理并存储到数据存储层后。模型化层利用这些准备好的数据,通过设计和实现星型模型来为上层的数据分析和业务智能应用提供支持。

总结来说,宽表星型模型构建主要发生在数据模型层,这一层负责将数据仓库中的数据组织成高效易用的形式,为数据分析和决策支持提供基础。