博客
关于我
基于Hive进行数仓建设的资源元数据信息统计:Spark篇
阅读量:434 次
发布时间:2019-03-06

本文共 909 字,大约阅读时间需要 3 分钟。

在数据仓库建设过程中,元数据管理是至关重要的一环。根据Kimball的数据仓库理论,元数据可以划分为技术元数据、业务元数据和过程元数据三大类。这些元数据类型为元数据系统的构建提供了坚实的基础。

技术元数据主要涉及数据存储的结构信息、文件路径等技术细节。业务元数据则关注数据之间的血缘关系及业务归属。过程元数据,如表的每日行数、占用存储空间、更新时间等,是数据仓库运维的重要依据。

基于上述元数据分类构建的元数据系统,通常具备以下核心功能:

  • 血缘关系管理

    这些血缘关系主要体现在日常的SQL和ETL任务中,确保数据集之间的关联性和一致性。

  • 大数据集群资源管理

    通过对Spark、Flink、Mapreduce等引擎使用情况的采集和可视化,监控任务的CPU、内存、磁盘IO等资源使用情况。异常情况及高资源消耗的表或业务可以通过可视化界面快速发现并及时处理。

  • 数据同步与权限管理

    该功能涉及数据同步策略的制定及权限管理,确保数据的安全性和高效传输。

  • Hive库表元数据信息统计

    这部分统计包括行数、文件数、HDFS存储大小、最后一次操作时间等指标。通过持续采集这些数据并生成可视化曲线图,数据仓库团队可以及时发现数据规律或质量问题。同时,为业务开发人员提供业务量趋势分析支持。

  • 本文将重点介绍如何利用Spark对Hive库及分区表、非分区表相关指标进行统计。实际生产中,不仅可以通过特定方式及时更新获取Hive元数据,还可以参考Spark底层执行过程,实现自定义业务逻辑。

    需要注意的是,Spark默认不统计文件数,但Hive有此功能。

    Hive和Spark对Hive库表元数据信息统计的主要区别

  • SQL语法支持不同

    Spark支持对Hive分区表进行表级统计,但需指定具体分区;而Hive需要明确指向特定分区进行统计。

  • 统计结果体现不同

    行数统计中,Hive使用numRows,Spark使用spark.sql.statistics.numRows

  • 默认统计项不同

    Spark不统计文件数,Hive默认支持此功能。

  • 这些区别在实际应用中可能导致元数据管理策略的不同选择。建议根据具体需求选择合适的工具进行元数据统计工作。

    转载地址:http://vsvkz.baihongyu.com/

    你可能感兴趣的文章
    P1865 A % B Problem
    查看>>
    P2260 [清华集训2012]模积和
    查看>>
    P3203 [HNOI2010]弹飞绵羊 —— 懒标记?分块?
    查看>>
    P4313 文理分科
    查看>>
    SpringBoot中集成LiteFlow(轻量、快速、稳定可编排的组件式规则引擎)实现复杂业务解耦、动态编排、高可扩展
    查看>>
    SpringBoot中集成influxdb-java实现连接并操作Windows上安装配置的influxDB(时序数据库)
    查看>>
    P8738 [蓝桥杯 2020 国 C] 天干地支
    查看>>
    package,source folder,folder相互转换
    查看>>
    SpringBoot中集成Flyway实现数据库sql版本管理入门以及遇到的那些坑
    查看>>
    package.json文件常用指令说明
    查看>>
    SpringBoot中集成eclipse.paho.client.mqttv3实现mqtt客户端并支持断线重连、线程池高并发改造、存储入库mqsql和redis示例业务流程,附资源下载
    查看>>
    Padding
    查看>>
    paddlehub安装及对口罩检测
    查看>>
    SpringBoot中集成Actuator实现监控系统运行状态
    查看>>
    PaddleSlim 模型量化 源代码解读
    查看>>
    paddle的两阶段基础算法基础
    查看>>
    Page Object模式:为什么它是Web自动化测试的必备工具
    查看>>
    SpringBoot中重写addCorsMapping解决跨域以及提示list them explicitly or consider using “allowedOriginPatterns“ in
    查看>>
    PageHelper 解析及实现原理
    查看>>
    pageHelper分页工具的使用
    查看>>