当前位置: 首页 > 编程日记 > 正文

入门数据分析师,从了解元数据中心开始

640?wx_fmt=png

作者丨凯凯连

编辑丨Zandy

来源 | 大数据与人工智能(ID:ai-big-data)

【导读】上一篇文章,我们简单讲解了数据仓库的概念,并介绍了它的分层架构设计,相信大家对数据仓库体系已经有一定的了解了。

那么,这篇文章,我们将再进一步探讨一下数据仓库治理的问题,一起探究下庞大的数据仓库体系是如何进行数据管理的。

1.什么是元数据中心?为什么要讲它?

元数据中心是负责记录和管理数据仓库中数据的含义、格式、血缘关系等元数据的系统,它是数据治理环节最重要的组件。

由此可知,要想理解一个公司的数据仓库体系,就必须先从元数据中心开始。

所以它也是数据分析师的常用系统,做任何数据分析前,都需要对手上有什么数据,怎么利用他们了如指掌,元数据中心就在这个过程中承担着极其重要的作用。因此,作为大数据分析师,必须要了解元数据中心。

2.本文的目标是什么?

本文的侧重点是向你讲解元数据中心的作用和设计思路,一方面讲解它存有什么样的信息,能用来做什么,怎么借助元数据中心完成分析任务;另一方面,会简单介绍下元数据中心的各个组成部分,理解它是如何发挥作用的。目标是让你深入了解元数据中心,可以在工作中比较好地利用它产生业务价值。

3.本文的讲解思路

第一部分,讲解元数据的概念和分类。

第二部分,讲解元数据在数据仓库体系中发挥着什么作用。

第三部分,讲解元数据中心管理系统的组成结构,更加深入地理解元数据中心。

以下为正文

01 元数据的概念和分类

元数据,又被称为描述数据的数据,你可以把它类比成关系型数据库的 schema 信息,来方便直观地理解它,但是它绝不仅仅是 schema 信息,它还包括了很多其他的信息。一般意义上来说,元数据是描述数据仓库内数据的结构和建立方法的数据。一般按照用途来分类,元数据分为技术元数据和业务元数据。

技术元数据,通常是给程序使用的,它包含了数据仓库中包含的表,每张表的合法字段、值类型、有效值范围等信息,以及 ETL 程序需要使用到的转换规则、数据流转信息等。

业务元数据,通常是给分析人员使用的,包含从业务角度描述的各个主题域和数据模型的构成和含义,数据表、字段和值的含义,也包括统一的统计口径、常用的特殊限定条件、特定业务术语等。

元数据中心的职责,就是对元数据进行管理,承担着数据治理的重任,在数据仓库体系中有着至关重要的作用。接下来,我们就来说下它有什么作用。

02 元数据中心在数仓体系中的核心作用

元数据中心的核心地位,不仅是因为它存储了最核心的元数据,同时也是因为它在数据仓库构建的各个阶段都发挥了非常重要的作用。

具体如下图所示:

640?wx_fmt=png

其具体的作用点,如下:

(1)提供了合法表名、字段名的集合,在 ETL 过程中可以有效阻止脏数据的混入,提升数据质量,同时也规范了日志打点,保证命名规范的一致性,避免产生歧义。

(2)提供了字段值的有效范围,可以在上线前由测试人员进行验证,避免 bug 数据的混入

(3)包含各种主题和数据的含义,方便数据分析人员理解数据,根据自己的业务分析需求获取对应的数据

(4)定义数据仓库的模型数据,提供给建模工具进行主题建模

(5)提供有效的数据血缘关系,方便在出现数据问题时,进行追踪溯源,帮助定位并解决问题

(6)记录数据定义的变迁历史,方便后续进行跨度比较大的分析,同时也有助于在分析时确定数据的有效可用范围

03 元数据中心管理系统

通过前面的讲解,我们对元数据中心有了初步的了解,那么接下来我们来简单说下元数据中心管理系统,这部分并不是要手把手教你怎么去设计并建设元数据中心,而是试图让你通过理解它的组成结构,来加深对元数据中心的理解。

首先,我们需要了解下,元数据中心管理系统一般的典型架构由哪些模块组成。具体如下图所示:

640?wx_fmt=png

最右侧的 DB,代表存储模块,所有的数据都需要存储到这里,而左侧的方框表示了元数据管理中心具备的功能模块,我们逐个来解释下。

(1)权限认证模块,这个不用多说,属于基础功能模块,保证系统的数据安全。

(2)审核模块,用于控制审核流程。因为元数据是非常核心的数据,如果它出错,整个数据仓库体系的多个环节可能都会受到影响,因此需要有审核机制来确保数据的正确性和一致性。

(3)源数据格式管理,这个模块主要作用是定义数据源的数据格式,包括装载到数据仓库中存储的表,具有哪些字段及其数据类型,以及值的有效范围等信息。这些信息会作为 ETL 程序的重要参考内容,有助于对数据质量的把控。

(4)数据模型定义管理,主要作用是管理各个主题域的相关信息,包括事实表、维度表,以及他们之间的关联关系等。数据分析人员在进行具体分析任务时,会根据这部分的信息,来决定使用什么数据和如何使用数据。

(5)主题构建过程管理,这部分的作用是管理事实表、维度表等的构建过程,包括读入什么样的数据源、如何完成数据的转换、如何与维度表关联、决定最终的表结构等,这部分的数据是建模工具要依赖的数据。

(6)业务规范定义管理,这个模块管理的是各种业务指标定义、统计口径设定、特定的业务场景限定条件等,总之是在分析工作过程中需要用到的各种业务知识。

(7)元信息管理,这里的元信息是指元数据中处于基础位置的信息,如公司的产品线、各产品线或业务的通用字段、保留字段等的管理,这部分信息的复用程度非常高,需要单独进行管理。

(8)记录更改历史,这个模块负责把每次元数据的变动都记录下来,方面后续排查数据问题时,查看元数据的变化过程和变化的具体时间点,辅助定位问题。

总结

本文带领大家初步了解了元数据中心的概念、分类、存储的数据内容、在数据仓库体系中的作用和元数据管理系统的构造。希望可以帮助大家加深对元数据中心的理解,并对你的面试和工作有所帮助。

(*本文为AI科技大本营转载文章,转载请联系作者)

推荐阅读

  • CSDN“2019 优秀AI、IoT应用案例TOP 30+”正式发布

  • 六大主题报告,四大技术专题,AI开发者大会首日精华内容全回顾

  • 如何打造高质量的机器学习数据集?这份超详指南不可错过

  • 从模型到应用,一文读懂因子分解机

  • 用Python爬取淘宝2000款套套

  • 7段代码带你玩转Python条件语句

  • 高级软件工程师教会小白的那些事!

  • 谁说 C++ 的强制类型转换很难懂?


640?wx_fmt=png

你点的每个“在看”,我都认真当成了喜欢

相关文章:

PhpMyAdmin的简单安装和一个mysql到Redis迁移的简单例子

1.phpmyadmin的安装 sudo apt-get install phpmyadmin 之后发现http://localhost/phpmyadmin显示没有此url,于是想到本机上能显示的网页都在/var/www文件夹内,因此执行命令行:sudo ln /usr/share/phpmyadmin /var/www 这样就能使用了; 之…

聊聊flink的HistoryServer

为什么80%的码农都做不了架构师?>>> 序 本文主要研究一下flink的HistoryServer HistoryServer flink-1.7.2/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/history/HistoryServer.java public class HistoryServer {private st…

深度学习开源库tiny-dnn的使用(MNIST)

tiny-dnn是一个基于DNN的深度学习开源库,它的License是BSD 3-Clause。之前名字是tiny-cnn是基于CNN的,tiny-dnn与tiny-cnn相关又增加了些新层。此开源库很活跃,几乎每天都有新的提交,因此下面详细介绍下tiny-dnn在windows7 64bit …

如何学习SVM?怎么改进实现SVM算法程序?答案来了

编辑 | 忆臻来源 | 深度学习这件小事(ID:DL_NLP)【导读】在 3D 动作识别领域,需要用到 SVM(支持向量机算法),但是现在所知道的 SVM 算法很多很乱,相关的程序包也很多,有什…

跟着石头哥哥学cocos2d-x(三)---2dx引擎中的内存管理模型

2019独角兽企业重金招聘Python工程师标准>>> 2dx引擎中的对象内存管理模型,很简单就是一个对象池引用计数,本着学好2dx的好奇心,先这里开走吧,紧接上面两节,首先我们看一个编码场景代码: hello…

读8篇论文,梳理BERT相关模型进展与反思

作者 | 陈永强来源 | 微软研究院AI头条(ID:MSRAsia)【导读】BERT 自从在 arXiv 上发表以来获得了很大的成功和关注,打开了 NLP 中 2-Stage 的潘多拉魔盒。随后涌现了一大批类似于“BERT”的预训练(pre-trained)模型,有…

Dlib库中实现正脸人脸检测的测试代码

Dlib库中提供了正脸人脸检测的接口&#xff0c;这里参考dlib/examples/face_detection_ex.cpp中的代码&#xff0c;通过调用Dlib中的接口&#xff0c;实现正脸人脸检测的测试代码&#xff0c;测试代码如下&#xff1a;#include "funset.hpp" #include <string>…

20189317 《网络攻防技术》 第二周作业

一.黑客信息 &#xff08;1&#xff09;国外黑客 1971年&#xff0c;卡普尔从耶鲁大学毕业。在校期间&#xff0c;他专修心理学、语言学以及计算机学科。也就是在这时他开始对计算机萌生兴趣。他继续到研究生院深造。20世纪60年代&#xff0c;退学是许多人的一个选择。只靠知识…

centos 6.4 SVN服务器多个项目的权限分组管理

根据本博客中的cent OS 6.4下的SVN服务器构建 一文&#xff0c;搭建好SVN服务器只能管理一个工程&#xff0c;如何做到不同的项目&#xff0c;多个成员的权限管理分配呢&#xff1f;一 需求开发服务器搭建好SVN服务器&#xff0c;不可能只管理一个工程项目&#xff0c;如何做到…

cifar数据集介绍及到图像转换的实现

CIFAR是一个用于普通物体识别的数据集。CIFAR数据集分为两种&#xff1a;CIFAR-10和CIFAR-100。The CIFAR-10 and CIFAR-100 are labeled subsets of the 80 million tiny images dataset. They were collected by Alex Krizhevsky, Vinod Nair, and Geoffrey Hinton.CIFAR-10由…

取代Python?Rust凭什么

作者 | Nathan J. Goldbaum译者 | 弯月&#xff0c;责编 | 屠敏来源 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;【导语】Rust 也能实现神经网络&#xff1f;在前一篇帖子中&#xff0c;作者介绍了MNIST数据集以及分辨手写数字的问题。在这篇文章中&#xff0c;他将…

【Mac】解决「无法将 chromedriver 移动到 /usr/bin 目录下」问题

问题描述 在搭建 Selenium 库 ChromeDriver 爬虫环境时&#xff0c;遇到了无法将 chromedriver 移动到 /usr/bin 目录下的问题&#xff0c;如下图&#xff1a; 一查原来是因为系统有一个 System Integrity Protection (SIP) 系统完整性保护&#xff0c;如果此功能不关闭&#…

【译文】怎样让一天有36个小时

作者&#xff1a;Jon Bischke原文地址&#xff1a;How to Have a 36 Hour Day 你经常听人说“真希望一天能多几个小时”或者类似的话吗&#xff1f;当然&#xff0c;现实中我们每天只有24小时。这么说吧&#xff0c;人和人怎样度过这24个小时是完全不同的。到现在这样的说法已经…

Dlib库中实现正脸人脸关键点(landmark)检测的测试代码

Dlib库中提供了正脸人脸关键点检测的接口&#xff0c;这里参考dlib/examples/face_landmark_detection_ex.cpp中的代码&#xff0c;通过调用Dlib中的接口&#xff0c;实现正脸人脸关键点检测的测试代码&#xff0c;测试代码如下&#xff1a;/* reference: dlib/examples/face_l…

LeetCode--004--寻找两个有序数组的中位数(java)

转自https://blog.csdn.net/chen_xinjia/article/details/69258706 其中&#xff0c;N14,N26,size4610. 1&#xff0c;现在有的是两个已经排好序的数组&#xff0c;结果是要找出这两个数组中间的数值&#xff0c;如果两个数组的元素个数为偶数&#xff0c;则输出的是中间两个元…

开源sk-dist,超参数调优仅需3.4秒,sk-learn训练速度提升100倍

作者 | Evan Harris译者 | Monanfei编辑 | Jane 出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100)【导语】这篇文章为大家介绍了一个开源项目——sk-dist。在一台没有并行化的单机上进行超参数调优&#xff0c;需要 7.2 分钟&#xff0c;而在一百多个核心的 Spark 群集…

Windows和Linux下通用的线程接口

对于多线程开发&#xff0c;Linux下有pthread线程库&#xff0c;使用起来比较方便&#xff0c;而Windows没有&#xff0c;对于涉及到多线程的跨平台代码开发&#xff0c;会带来不便。这里参考网络上的一些文章&#xff0c;整理了在Windows和Linux下通用的线程接口。经过测试&am…

MySQL 性能调优的10个方法

MYSQL 应该是最流行了 WEB 后端数据库。WEB 开发语言最近发展很快&#xff0c;PHP&#xff0c; Ruby, Python, Java 各有特点&#xff0c;虽然 NOSQL 最近越來越多的被提到&#xff0c;但是相信大部分架构师还是会选择 MYSQL 来做数据存储。MYSQL 如此方便和稳定&#xff0c;以…

他们用卷积神经网络,发现了名画中隐藏的秘密

作者 | 神经小刀来源 |HyperAI超神经&#xff08; ID: HyperAI&#xff09;导语&#xff1a;著名的艺术珍品《根特祭坛画》&#xff0c;正在进行浩大的修复工作&#xff0c;以保证现在的人们能感受到这幅伟大的巨制&#xff0c;散发出的灿烂光芒。而随着技术的进步&#xff0c;…

机器学习公开课~~~~mooc

https://class.coursera.org/ntumlone-001/class/index

DLM:微信大规模分布式n-gram语言模型系统

来源 | 微信后台团队Wechat & NUS《A Distributed System for Large-scale n-gram Language Models at Tencent》分布式语言模型&#xff0c;支持大型n-gram LM解码的系统。本文是对原VLDB2019论文的简要翻译。摘要n-gram语言模型广泛用于语言处理&#xff0c;例如自动语音…

Ubuntu14.04 64位机上安装cuda8.0+cudnn5.0操作步骤

查看Ubuntu14.04 64位上显卡信息&#xff0c;执行&#xff1a;lspci | grep -i vga lspci -v -s 01:00.0 nvidia-smi第一条此命令可以显示一些显卡的相关信息&#xff1b;如果想查看某个详细信息&#xff0c;可以执行第二条命令;如果是NVIDIA卡&#xff0c; 可继续执行第三条命…

SQLI DUMB SERIES-5

less5 &#xff08;1&#xff09;输入单引号&#xff0c;回显错误&#xff0c;说明存在注入点。输入的Id被一对单引号所包围&#xff0c;可以闭合单引号 &#xff08;2&#xff09;输入正常时&#xff1a;?id1 说明没有显示位&#xff0c;因此不能使用联合查询了&#xff1b;可…

javascript RegExp

http://www.w3schools.com/jsref/jsref_obj_regexp.asp声明-------------modifiers&#xff1a;{i,g,m}1. var pattnew RegExp(pattern,modifiers);2. var patt/pattern/modifiers;------------------------例子&#xff1a;var str "Visit W3Schools"; //两…

Ubuntu14.04 64位机上安装OpenCV2.4.13(CUDA8.0)版操作步骤

Ubuntu14.04 64位机上安装CUDA8.0的操作步骤可以参考http://blog.csdn.net/fengbingchun/article/details/53840684&#xff0c;这里是在已经正确安装了CUDA8.0的基础上安装OpenCV2.4.13(CUDA8.0)操作步骤&#xff1a;1. 从http://opencv.org/downloads.html 下载OpenCV2.…

一篇文章能够看懂基础代码之CSS

web页面主要分为三块内容&#xff1a;js&#xff1a;控制用户行为和执行代码行为html元素&#xff1a;控制页面显示哪些控件&#xff08;例如按钮&#xff0c;输入框&#xff0c;文本等&#xff09;css&#xff1a;控制如何显示页面上的空间&#xff0c;例如布局&#xff0c;颜…

谷歌NIPS论文Transformer模型解读:只要Attention就够了

作者 | Sherwin Chen译者 | Major&#xff0c;编辑 | 夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;导读&#xff1a;在 NIPS 2017 上&#xff0c;谷歌的 Vaswani 等人提出了 Transformer 模型。它利用自我注意&#xff08;self-attention&#xff09;来计算其…

中国移动与苹果联姻 三星在华霸主地位或遭取代

据国外媒体12月24日报道&#xff0c;在各方的期待下&#xff0c;苹果终于宣布中国移动将于2014年1月17日开始销售支持其网络的iPhone手机。而中国移动也将于12 月25日开始正式接受预定。作为中国以及世界最大的移动运营商&#xff0c;中国移动与苹果的合作&#xff0c;将会帮助…

二维码Data Matrix编码、解码使用举例

二维码Data Matrix的介绍见&#xff1a; http://blog.csdn.net/fengbingchun/article/details/44279967 &#xff0c;这里简单写了个生成二维码和对二维码进行识别的测试例子&#xff0c;如下&#xff1a;int test_data_matrix_encode() {std::string str "中国_abc_DEF…

PDF文件如何转成markdown格式

百度上根据pdf转makrdown为关键字进行搜索&#xff0c;结果大多数是反过来的转换&#xff0c;即markdown文本转PDF格式。 但是PDF转markdown的解决方案很少。 正好我工作上有这个需求&#xff0c;所以自己实现了一个解决方案。 下图是一个用PDF XChange Editor打开的PDF文件&am…