数仓模型HIVE业务元数据治理:专题构建方案

数据仓库——(数仓建模,数仓分层,事实表和维度表,星型模型,雪花模型) ## 数据仓库建模方法 数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。适合业务和基础数据存储环境的模型的优点如下: 1. 性能:良好的数据模型能帮助我们快速查询所需要的数据,减少数据的I/O吞吐 2. 成本:良好的数据模型能极大地减少不必要的数据冗余,也能实现计算结果复用,极大地降低大数据系统中的存储和计算成本 3. 效率:良好的数据模型能极大地改善用户使用数据的体验,提高使用数据的效率 4. 质量:良好的数据模型能改善数据统计口径的不一致性,减少数据计算错误的可能性 通 阅读详情

概述

库的划分

  • 在数据仓库中,用不同的库来存储不同业务的数据,期望做到不同库的表之间不会有关联
  • 一家公司可能有多个业务系统,例如:HR系统、商业系统……
    对此,建立商业库dw01_biz和HR库dw02_hr,期望dw01_biz.表和dw02_hr.表不会JOIN到一起

专题

  • 专题是指针对某个特定对象而特别收集制作而成的一种集中作品
    这个对象可以是具体的某个人物或者某个事物,也可以是某个抽象的范围或者领域
  • 在数据仓库,当同一个库中的表过多时,就需要对表进行归类
    而这个归类是抽象的、逻辑的,默认情况下不是物理的
  • 数仓分层可理解为:按照有序的计算流程,对表进行归类
    例如ODS=>DWD=>DWS=>ADS是有序的计算流程,分层名可添加到表名中,例如ods_user
  • 数仓的英文概念说到,Data warehouse is subject-oriented
    就是说,数据仓库是面向专题的
  • 专题划分:依据(子)业务流程,将数据划分到不同的区域
    专题的划分可以 多维度(按业务、按部门)、多层级(一级部门、二级部门)
    通常,1个表属于1个专题
  • 一些文章提及数据域、主题、主题域等概念,在我看来 它们和专题差别不大,都属于业务元数据

如果说数仓分层是横向划分,那么专题就是纵向划分

商业专题业务过程命名参考
交易加购、下单、取消订单、支付成功、退单、退款成功trade
流量页面浏览、启动应用、动作、曝光、错误traffic
用户注册、登录user
互动收藏、评价interaction
优惠优惠券领取、优惠券使用(下单)、优惠券使用(支付)、满减活动discount
商品上架、下架goods
物流库存、出货、进货logistics
广告advertising
……
其它others

构建专题

  • 分层和专题都是逻辑上对表进行归类,是抽象的,默认情况不是物理的
  • 分层(相对地)脱离业务,有(相对)统一的标准,是稳定的、少变的
    因此分层可作为表名的一部分
    分层还能手动设计为物理意义上的划分(例如建表时指定LOCATION)
  • 专题的设计跟业务挂钩,不同的公司有不同的业务,没有统一的标准
    对同一业务,不同的人有不同的理解
    业务和需求是多变的
    因此专题是不稳定的、多变的
    因此专题不适合作为表名的一部分,不适合进行物理意义上的划分
  • 对于由HIVE构建的数仓,可借助TBLPROPERTIES来构建专题
    下面以category单词构建专题,附加到HIVE表属性,也可以用其它单词,如:subject

HIVE建表时,添加专题

TBLPROPERTIES('category1'='类别1','category2'='类别2')

HIVE建表后,补充专题

ALTER TABLE 表 SET TBLPROPERTIES('category1'='类别1');
ALTER TABLE 表 SET TBLPROPERTIES('category2'='类别2');

专题展示

表信息

SELECT
	t.`TBL_NAME`      AS `表名`
	,c.`PARAM_VALUE`  AS `表注释`
	,c1.`PARAM_VALUE` AS `一级分类`
	,c2.`PARAM_VALUE` AS `二级分类`
FROM (SELECT `DB_ID` FROM `DBS` WHERE `NAME`='库名')b
LEFT JOIN(SELECT `DB_ID`,`TBL_ID`,`TBL_NAME` FROM `TBLS` WHERE `TBL_TYPE`='EXTERNAL_TABLE')t ON b.`DB_ID`=t.`DB_ID`
LEFT JOIN(
	SELECT `TBL_ID`,`PARAM_VALUE`
	FROM `TABLE_PARAMS`
	WHERE `PARAM_KEY`='comment'
)c ON t.`TBL_ID`=c.`TBL_ID`
LEFT JOIN(
	SELECT `TBL_ID`,`PARAM_VALUE`
	FROM `TABLE_PARAMS`
	WHERE `PARAM_KEY`='category1'
)c1 ON t.`TBL_ID`=c1.`TBL_ID`
LEFT JOIN(
	SELECT `TBL_ID`,`PARAM_VALUE`
	FROM `TABLE_PARAMS`
	WHERE `PARAM_KEY`='category2'
)c2 ON t.`TBL_ID`=c2.`TBL_ID`;

字段信息

SELECT
    t.`TBL_NAME`     AS `表名`
    ,c.`COL_NAME`    AS `字段名`
    ,c.`COL_COMMENT` AS `字段注释`
    ,c.`DATA_TYPE`   AS `数据类型`
    ,c.`COL_TYPE`    AS `字段类型`
-- 库
FROM (SELECT `DB_ID` FROM `DBS` WHERE `NAME`='库名') b
-- 表
INNER JOIN (SELECT `DB_ID`,`TBL_ID`,`TBL_NAME` FROM `TBLS` WHERE `TBL_TYPE`='EXTERNAL_TABLE'
) t ON b.`DB_ID`=t.`DB_ID`
-- 字段注释
LEFT JOIN((
    -- 分区注释
    SELECT
        `TBL_ID`,                         -- 表ID
        `PKEY_NAME`      `COL_NAME`,      -- 分区名
        `PKEY_COMMENT`   `COL_COMMENT`,   -- 分区注释
        `PKEY_TYPE`      `DATA_TYPE`,     -- 数据类型
        'partition'      `COL_TYPE`       -- 类型
    FROM `PARTITION_KEYS`
    )UNION ALL(
    -- 列注释
    SELECT
        t.`TBL_ID`       `TBL_ID`,        -- 表ID
        c.`COLUMN_NAME`  `COL_NAME`,      -- 字段名
        c.`COMMENT`      `COL_COMMENT`,   -- 字段注释
        c.`TYPE_NAME`    `DATA_TYPE`,     -- 字段的数据类型
        'column'         `COL_TYPE`       -- 类型
    FROM (
        SELECT b.`TBL_ID`,s.`CD_ID` FROM `TBLS`b
        INNER JOIN `SDS`s ON s.`SD_ID`=b.`SD_ID`
    )t
    LEFT JOIN `COLUMNS_V2`c ON t.`CD_ID`=c.`CD_ID`
))c ON t.`TBL_ID`=c.`TBL_ID`;

Superset可视化效果

数据仓库十大主题;TeraData金融数据模型   Teradata天睿公司(纽交所代码:TDC),是美国前十大上市软件公司之一。经过逾30 年的发展,Teradata天睿公司已经成为全球最大的专注于大数据分析、数据仓库和整合营销管理解决方案的供应商。其提出一种先进的FS-LDM模型(Financial Services LogcialData Model) --企业级数据模型,包括金融机构业务数据,囊括了银行约80%的业务数据,并把预定义的... 阅读详情

相关推荐

数据治理的专题库

数据治理专题库是围绕特定业务领域或场景构建的专业化数据库,其核心在于业务导向性和自主性。与基础库(如人口、法人、地理信息等跨部门核心实体数据)和主题库(如市场监管中的食品监管、质量检查等跨领域整合数据)不同,专题库由委办局、街镇等业务单位自行建设,服务于具体业务需求,例如环境监测中的“大气污染专题库”或城市治理中的“应急事件专题库”。其数据来源既包括单位内部沉淀数据,也可从数据资源局申请基础库或主题库数据作为补充。数据治理专题库是业务数字化转型的“毛细血管”,其建设需以场景化需求为牵引,融合标准化治理与。

kcarly的专栏 1243

几种建模方式的比较

http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0803zhousb/周三保 (zhousb@cn.ibm.com), 信息技术专家, IBM2008 年 3 月 31 日本文的主要内容不是介绍现有的比较流行的主要行业的一些数据模型,而是将笔者在数据仓库建设项目中的一些经验,在这里分享给大家。希

好色老詹的专栏 7171

数据仓库——数仓治理

数据仓库是一个集中式存储库,用于存储结构化数据(数据库表、Excel 工作表)和半结构化数据(XML 文件、网页),以便进行报告和分析。数据从各种源(如销售点系统、业务应用程序和关系数据库)流入,通常会在到达仓库之前进行清理和标准化。由于数据仓库可以存储大量信息,因此用户可以轻松访问大量历史数据,这些数据可用于数据挖掘、数据可视化和其他形式的商业智能报告。数据仓库分层原理_纠结&安然的程序猿的博客-优快云博客。

weixin_46010244的博客 575

大数据及数据管控平台计及案例

智慧矿山大数据及数据管控平台计及案例

weixin_39774675的博客 1021

数据治理实战:如何用元数据管理提升企业数据血缘追溯效率?

本文探讨了如何通过构建以元数据管理为核心的主动‘导航系统’,破解企业数据血缘追溯的难题。文章详细阐述了技术元数据与业务元数据的深度融合、构建全景式数据血缘的四个核心维度,并提供了从自动化采集到智能分析的三阶段实战框架,旨在帮助企业提升数据治理效率,确保数据可信度与合规性。

weixin_29323551的博客 193

Spark大数据治理:元数据管理与数据血缘追踪

很多人认为数据治理是"配置工具"或"写代码",但本质上,数据治理是"重新理解数据"的过程不再把数据当"资源",而是当"有身份、有血统的生命体";不再把Spark当"计算工具",而是当"数据的记录者与见证者"。当你能通过元数据回答"数据是什么",通过血缘回答"数据从哪里来、到哪里去",你就掌握了大数据治理的核心——让数据变得"可信任、可追踪、可复用"。而这,正是Spark给我们的礼物:它不仅是计算引擎,更是数据世界的"地图绘制者"——帮我们在数字洪流中找到方向,让数据的价值真正落地。

AI架构全栈开发实战笔记 400

数仓

逻辑分层 数仓分层,一般按ods->dw->dm整体架构。不同的企业,不同的业务场景,有衍生出不同的分层架构模式。例如经典四层架构:ods->dwd->dws-ads,bdl->fdl->gdl->adl等。 技术选型,传统数仓一般以Oracle、greenplum、teradata 等,互联网数仓一般以Hadoop生态圈为主,离线以Hive为核心,准实...

weixin_47209187的博客 1420

从零开始:在Ubuntu 22.04上配置Isaac Gym Preview 3环境(含常见错误解决方案)

本文提供了在Ubuntu 22.04系统上从零开始配置Isaac Gym Preview 3环境的完整实战指南。内容涵盖NVIDIA驱动安装、Conda环境搭建、CUDA与PyTorch版本精准匹配、Isaac Gym核心安装与验证,并重点介绍了针对四足机器人等复杂系统的强化学习训练环境配置、常见错误解决方案及性能调优技巧,旨在帮助开发者高效部署这一高性能物理仿真平台。

weixin_29048775的博客 393

数仓一些基本概念的分享

避免重复抽取大量未变化的数据减少数据量的处理和资源消耗,提高数据抽取和集成效率,实现方式:时间戳,基于日志,基于标志位,数据仓库更新,实现数据同步,数据迁移和整合。将作为维度表中的属性直接放在事实表中作为普通列来处理,提高查询性能,简化数据模型。适合维度表中变化少,且事实表常用的情况。Kafka(日志)、Sqoop(MySQL同步)维度表进一步规范化(减少冗余),但关联复杂度高。单事实表+多维度表,无规范化维度表,查询高效。面向业务场景的高度汇总(如报表、API接口)多事实表共享维度表,支持复杂分析。

2301_76623283的博客 1713

Ubuntu 22.04下Minkowski Engine编译避坑指南:解决Cuda 12.2与Pytorch cu118版本冲突

本文详细介绍了在Ubuntu 22.04系统中解决Minkowski Engine编译时Cuda 12.2与Pytorch cu118版本冲突的实用方法。通过修改版本检查逻辑、创建兼容符号链接等技巧,帮助开发者顺利完成编译,并提供了性能优化建议和替代方案,确保三维点云处理任务的高效运行。

weixin_42543309的博客 163

英飞凌TC3xx之一起认识GTM(八)如何使用DTM实现死区时间配置

本文简要介绍英飞凌TC3xx系列芯片的DTM模块结构,以及有哪些相关寄存器可用于实现相关配置。

无所适从的我的博客 4651

数仓第一篇:基础架构

技术选型,传统数仓一般以Oracle、greenplum、teradata 等,互联网数仓一般以Hadoop生态圈为主,离线以Hive为核心,准实时以spark为核心,实时以flink为核心构建。技术选型,传统数仓一般以Oracle、greenplum、teradata 等,互联网数仓一般以Hadoop生态圈为主,离线以Hive为核心,准实时以spark为核心,实时以flink为核心构建。数据安全,可包含以下五方面的内容,即数据的保密性、真实性、完整性、未授权拷贝和所寄生系统的安全性。...

weixin_43597208的博客 1096

西门子V90伺服——章节0、西门子V90章节总述

格式规范:西门子V90伺服——章节1、产品介绍(1、伺服系统初步介绍)@[TOC](西门子V90伺服——章节1、产品介绍)课时1伺服系统初步介绍(1)课时2 伺服系统初步介绍(2)课时3 运动控制基础(1)课时4 运动控制基础(2)课时5 产品概览课时6 相关选件课时7 控制模式介绍(1)课时8 控制模式介绍(2)课时9 产品选型课时10 调试工具及相关资料介绍。

大小曲奇的博客 125

数仓建库-数据治理-004

元数据通常定义为”关于数据的数据”,元数据贯穿了数据仓库的整个生命周期,使用元数据驱动数据仓库的开发,使数据仓库自动化,可视化。元数据打通了源数据、数据仓库、数据应用,记录数据从产生到消费的全过程。例如我们看一部电影,电影本身就是数据,那么元数据就是用来描述这部电影的数据。如下图所示:元数据主要记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态及 ETL 的任务运行状态。

Code365 1169

华为OD机考双机位C卷 - 构成正方形的数量 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 成正方形的数量 (OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 5939

【IoT】 产品设计之结构设计:如何设计产品按键

1、硅胶按键功能实现有两种接触方式 1)硅胶按键按压在DOME片(锅仔片)上 通常用在手机、儿童手表手机、防水手机等防水设备上。 2)硅胶按键增加导电基,一种黑色的导电碳粒,实现回路导电 通常用在遥控器、电脑键盘、特殊设备上。 两种方式结构设计原理是一样的,按键的固定与配合间隙与行程要确保好。 2、硅胶遥控器按键的结构方式(导电基) 按键帽为大颗粒实心的,触点为黑色导电基,通过压注成型融合为一体,那么这种按键结构设计时需要注意那些呢? 最主要的是按键按压回弹的手感,由于没有DOME片实现

产品线负责人 8674

京东零售数仓:从离线、实时到流批一体的演进之路

第一阶段 21世纪的第一个10年,企业级数据仓库从萌芽到发展,“IOTteradata” 占据了大部分市场,提供数据仓库建设从硬件、软件到实施的整体方案。 第二阶段 2010年-2020年,大数据平台阶段,移动互联网的飞速发展,带动大数据的发展,其中Hadoop生态技术开始大规模使用,基于Hadoop 分布式计算框架,使用相对廉价的PC服务器就能搭建大数据集群。 第三阶段 就是我们当前所处的阶段,经过前10年不断的积累,大数据在方法和组织的变革上也有了新的沉淀,主要体现在:

cdfunlove的博客 1276

CSP - 2024 普及组初赛试题及解析

CSP - 2024 普及组初赛试题及解析

QD_Jason的博客 2911

极光笔记 | 极光基于元数据驱动数据治理浅谈

本文主要分享一下在极光数据治理过程中,对于元数据起到的作用的一些思考和经验总结

weixin_57579230的博客 1154

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

系列 | 漫谈数仓第一篇NO.1 『​基础架构』

转自:数据仓库与Python大数据作者:紫霞仙子01. 架构演进离线数据仓库到实时数据仓库,从lambda架构到kappa架构、再到混合架构。本文不再多再介绍,之前文章已...

大数据星球-浪尖 639

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

数据治理:元数据管理 、数据血缘(补充学习)

目录一、什么是元数据管理?二、元数据管理价值:字段血缘分析的意义Change to true to enable this input configuration.Paths that should be crawled and fetched. Glob based paths.Glob pattern for configuration loadingSet to true to enable config reloadingPeriod on which files under path should

weixin_43597208的博客 8932

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

数据资产治理:元数据采集那点事

‍‍正文开始一、介绍数据资产治理(详情见:数据资产,赞之治理)的前提要有数据。它要求数据类型全、量大,并尽可能多地覆盖数据流转的各个环节。元数据采集就变得尤其重要,它是数据资产治理的核心底...

fuyipingwml1976124的博客 3846

干货 | 携程平台化常态化数据治理之路

作者简介瑞强,携程高级大数据开发工程师,负责集团客户数据平台、数据资产管理平台的开发和数据治理的推进。一、背景数据的重要性不言而喻。每个数据工程师每天会产生大量数据,但这些数据占用的成本...

携程技术 773

大数据治理域——元数据管理

本文主要介绍了元数据管理在数据治理领域的重要性。元数据分为技术元数据、业务元数据、操作元数据和管理元数据,其价值体现在数据资产管理、提升数据可理解性、支撑数据血缘分析、辅助数据质量治理、实现数据共享与复用、支撑自动化运维与开发以及实现数据合规与审计追踪等方面。企业应用实践场景包括数据目录平台、数据血缘图、数据质量监控平台和自助数据分析平台。统一元数据体系建设的目标是统一标准、打通上下游、支撑数据治理和资产化管理以及提升数据可用性,其核心能力模块包括元数据采集、管理、服务和数据血缘管理。

庄小焱 2360
上一篇: HIVE处理JSON数据:GET_JSON_OBJECT、JSON_TUPLE、JSONFILE
下一篇: YARN(含MR2)常用配置
小基基o_O
博客等级 码龄9年 4414粉丝 467原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值