目录
1 数据治理知识
1.1 为什么要数据治理
随着大数据技术的逐渐普及,越来越多的企业搭建了数据仓库、实时数仓、数据湖等等。但是由于企业各个系统平台数据源复杂,企业的组织结构的复杂,前后时期口径不同一等等原因,最终造成:
- 数据质量低:数据错误、不准确或不一致,导致决策依据不可靠,影响企业的运营效率和盈利能力。( low data quailty )
- 数据孤岛:各部门和系统之间的数据无法有效整合,形成数据孤岛,降低数据的利用价值和沟通效率。(ioslated data island)
- 数据安全风险:缺乏有效的数据保护措施,可能导致敏感数据泄露,增加企业的法律和财务风险。(data security risk)
- 规范性问题:在数据使用、存储和传输过程中,可能无法满足规范性要求,增加数据的理解难度,降低使用率。(standard)
- 难以支持创新:由于数据质量、一致性和安全性问题,企业难以利用数据驱动创新和提升竞争力。(difficulty supporting innovation)
- 难以实现数据驱动:在没有良好数据治理的情况下,企业难以实现数据驱动的决策、市场营销和产品开发。(difficult to implement data-drien)
- 用户体验受损:数据问题可能导致客户和员工的不良体验,影响客户满意度和员工士气。(poor user experience)
1.2 什么是数据治理
数据治理是一种系统化的方法,旨在管理企业中数据的质量、一致性、安全性和完整性。它涉及一系列策略、流程、技术和工具,帮助组织有效地收集、存储、访问和利用数据。数据治理在以下几个方面具有重要意义:
数据质量:确保数据的准确性、一致性和可用性,降低错误和冗余,为决策提供可靠基础。 (data quailty)
数据规范:通过标准化和数据整合,使不同部门和系统间的数据具有统一的标准规范,提高沟通效率和数据利用价值。(data standard)
数据安全:保护敏感数据,防止未经授权的访问和泄露,确保合规性和隐私保护。(data security)
数据完整性:维护数据的完整性,确保不受损坏或误操作影响,提高数据恢复能力。(data intergrity)
数据策略和流程:制定和执行数据治理政策,明确数据所有权和责任,促进组织内数据的有效管理。(data policies and processes)
1.3 数据治理如何落地 --数据中台
数据治理本身是一个理念,必然需要具体的实施策略。
就像许多年前企业从纸质办公过渡到信息化建设,势必就搭建各种OA、CRM、ERP 等各种企业管理系统,来实现企业的业务流程和管理制度。
数据治理本身也是一种管理制度,对应的落地解决方案中最常见的就是数据中台。
一个完善的数据中台项目,可谓是“一站式”的数据处理与治理平台,包含但不限于如下功能:
- 数据接入与集成:支持多种数据源的接入和集成,包括结构化、非结构化和半结构化数据,实现数据的统一收集和管理。
- 数据清洗与转换:提供数据清洗、转换和标准化功能,以提高数据质量和一致性,满足不同业务需求。
- 数据存储与管理:具备高效、可扩展的数据存储和管理能力,确保数据的完整性和安全性。
- 数据质量管理:监控和评估数据质量,包括准确性、完整性、一致性、及时性等方面,确保数据可靠性。
- 元数据管理与血缘管理:元数据管理以及数据血缘功能,方便用户发现、理解和使用数据。
- 数据安全与合规:提供数据加密、访问控制、审计等功能,确保数据安全,同时满足相关法规和行业标准的合规要求。
- 数据分析与可视化:支持多维度的数据分析和可视化功能,帮助用户快速洞察数据背后的价值和趋势。
- 数据共享与服务:提供数据共享和API服务功能,便于跨部门和系统间的数据协同和价值创造。
- 数据治理策略与流程:制定和实施数据治理策略、流程和规范,明确数据所有权和责任,促进组织内的数据治理。
- 数据监控与运维:实时监控数据中台的性能和运行状况,确保数据的高可用性和稳定性,及时处理潜在问题。
总之,一个完善的数据中台应具备数据接入与集成、清洗与转换、存储与管理、质量管理、元数据管理、血缘管理、安全与合规、分析与可视化、共享与服务、治理策略与流程、监控与运维等多种功能,以支持企业实现高效的数据治理和价值创造。
1.4 轻量级方案:数据治理考评平台
相对于大而全的数据中台项目,本课程中数据治理考评平台是相对更轻量级的平台。
数据治理考评平台致力于从发现数据处理的各种问题入手,直击痛点,将问题量化,就像扫描电脑健康状态一样,扫描数据处理(目前以离线数仓为主)的全流程,把数据治理作为一张答卷,给出一个总评,并列出各个扣分项,以便逐步改善。
1.5 数据考评的指标
平台把考评的指标分为5个大类:
- 规范(standard)
主要是考评数据是否合规、信息是否完整、责任划分是否明确。
- 存储(storage)
主要考评数据存储规划是否合理。
包括指标:
- 计算(calculate)
主要考评计算逻辑规划是否合理
包括指标
- 质量(quality)
主要考评数据产出是否符合预期
- 安全(safety)
主要考评数据是否安全
1.6 指标列表
考评板块 | 考评指标 | 考评标准 |
规范 | 有技术owner | 有 则10分 , 无则0分 |
| 有业务 owner | 有 则10分 , 无则0分 |
| 表名合规 | 参考建数仓表规范 ODS层 :开头:ods 结尾 :inc/full 结构ods_xx_( inc|full) DIM层 : dim开头 full/zip 结尾 结构: dim_xx_( zip|full) DWD层: dwd 开头 inc/full 结尾 结构: dwd_xx_xx_(inc|full) DWS层: dws开头 结构dws_xx_xx_xx_ (1d/nd/td) ADS层: ads 开头 结构 ads_xxx DM层: dm开头 结构: dm_xx 符合则 10分,否则0分 OTHER: 未纳入分层,给5分 |
| 表有备注 | 有 则10分 , 无则0分 |
| 字段有备注信息 | 有备注字段/所有字段 *10分 |
存储 | 生命周期合理 | 未设定周期类型的 给 0分 周期类型为永久、拉链表 则给10分 周期类型为日分区 : 无分区信息的给0分 没设生命周期给0分 周期长度超过建议周期天数{days}给5分 |
| 是否空表 | 空表则0分 ,有数据则10分 |
| 存在相似表 | 同层次两个表字段重复超过{percent}%,则给0分,其余给10分 |
计算 | 长期无产出 | 一张表{days}天内没有产出数据 则给0分,其余给10 |
| 长期无访问 | 一张表{days}天内没有访问 则给0分 , 其余给10 |
| 计算中有报错 | 检查DS 有报错 则给0分,其余给10分 |
| sql中包含select * | sql语句中包含select * ,给0分,其余给10分 |
| 简单加工 | sql语句没有任何join\groupby\union\函数的复杂计算, 且 where过滤字段皆为分区字段,则视为简单加工,给0分,·其余给10分 |
| 计算中存在数据倾斜 | 检查是否有数据倾斜,如果某个stage的最大任务耗时超过平均耗时任务耗时的{percent}%, 只检查耗时超过{stage_dur_seconds}秒的stage。 存在倾斜给0分,不存在给10分。 |
质量 | 表产出时效监控 | 当日产出时效,超过前x天产出时效平均值n% 则给0分,其余10分 |
| 表产出数据量监控 | 必须日分区表 当日产出的数据量,超过前x天平均产出量{upper_limit}% ,或低于{lower_limit}% ,则给0分,其余10分 |
安全 | 未明确安全等级 | 未设置 0分 其余10分 |
| 目录文件数据访问权限超过建议值 | 检查该表最高权限的目录或者文件,如果超过文件超过{file_permission}或者目录超过{dir_permission}则给0分 其余给10分 |
2 数据治理考评平台的技术方案
考评平台内部主要由两部分组成。
一部分是最核心的“考评核算引擎”,主要功能是结合考评平台数据考核参数以及各个数据组件的相关信息,比如Hive元数据库、DolphinScheduler 中配置的任务信息、任务完成状况、 HDFS集群的相关信息,进行考评最终核算出分数,并进行保存。
另一部分是服务于外部访问的请求,比如查看考评、维护参数、补充元数据等等。
需要掌握技能:
利用Springboot 搭建外部服务。
利用Mybatis及Mybatis-plus操作MySQL数据库。
从Hive中提取需要的元数据。
从 HDFS中提取相关信息。
从DolphinScheduler 的任务信息中提取相关信息。