开发者学堂课程【企业运维训练营之大数据 EMR 原理与实践:视频-《 EMR 数据开发》】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1242/detail/18468
视频-《EMR 数据开发》
5、DataWorks 数据治理:需求层次
第三大核心是数据治理,数据治理这个大章节是重点要去讲解的,会把数据治理去融入到企业的整个生产过程当中,根据每个企业所处的不同的数字化转型阶段,它可能会有不同的数据治理所要关注的点,也就是需求会存在一些差异,会把需求经过分析概括为这五点。
首先最底层的是时效性,时效性比较容易理解,就是每天定时调度的任务希望他能及时的产出数据。质量就之前学员也提出来说怎么保证数据在整个开发的过程中数据是对的,他不会丢,这就是数据质量。有相应的一些模块,像 QQC就是数据质量来保证数据的完备、正确和准确性。第三个是可用,这个词不太容易理解,他其实想要表达的是有了这么多数据,特别是当数据湖或者数仓达到一定规模之后,怎样方便查找,怎样去理解所拥有的数据,能让这些数据更好的去复用业务需求,这个是可用。安全是当企业到了一定规模之后不得不去关注的一个点,一个企业肯定不希望数据和用户的一些核心的敏感信息泄露或者是被窃取等等这样的情况。会有整个覆盖全生命周期的一个数据安全的保障,在成本方面,其实在当下这种经济形势下,更需要去控制每个企业的成本优化,所以这方面也是不得不去考虑的,在数据治理里面。
6、DataWorks 数据治理:运维中心&智能监控
(1)
第一个时效,时效就是能保证数据及时的产出和正确的开发和运维,这里就是两个模块叫运维中心和智能监控,智能监控在运维中心里可以去操作的。主要是四个能力,第一个是最常规的,也就是任务的运维,第二个是智能化的基线监控,第三个是有些用户可能需要有移动端的一个运维的需求,跟踪运维能力,第四个是告警,这里着重会去提一下基线监控能力,他支持复杂的工作流的全链路的监控告警快速配置,他支持智能化的感知关键路径,会自动的评估影响面,从而进行一个有效的通知。
(2)
这张是智能监控的一个说明的片子,它也是 DataWorks 独创的、荣获了国家相关的专利,叫智能机械监控技术。
可以看到右边这张图里标红的地方,其实智能监控模块会根据历史作业运行的信息去识别出耗时最长的一条路径,把它作为关键路径。因为在业务流程里,其实是这几个节点它直接关系到了整个任务流什么时候能够完成,因为他是耗时最长的,这就是智能识别关键路径的能力。同时,能识别出路径以后,它能合理的推荐一个告警的阈值,对于这个任务在关键路径上运行的一些状态,能及时的感知到一些异常的事件,评估到异常的事件可能会对整个任务流有哪些影响,来通知到相应的人员。在配合告警等等方式来实现整个监控的闭环处理和有效的处达。
7、DataWorks 数据治理:数据质量
(1)第二个层次是质量,数据质量模块有的时候也会叫他DQC,DQC 这个模块里,支持了37种甚至更多的一个内置的模板规则,同时,用户也可以自定义去配置一些数据质量的规则。另外,用户其实不需要去设定这里面的一些阈值,会对阈值进行一些预测,由算法来进行判断是否是真正的一个异常的状态。当识别出这个数据质量的问题之后呢,是需要配合着告警以及所有的操作记录等等去实现数据质量问题的体系的闭环。
在右边这张图,会去定期的发送整个数据质量检查的报告。最后这张图,是每一天的数据质量的趋势,它的异常的一些情况和底下详细的明细记录,这是 DQC 模块。
(2)它整个运作的机制是如这张流程图:
目前对于 EMR 已经支持了Hive节点,Hive节点会把它所配置的数据质量规则和调度去深度的结合起来。一个节点中,它可能会有复杂的 SQL,这个 sql 它可能会有输出多张表,支持对每一张表进行单独的表规则的绑定,使用规则去绑定表,每张表检查的规则不太一样。当这个计算节点被调度起来之后,数据有一个产出,每张数据表的产出会相应的去匹配它的规则,有橙色或者红色的一个阈值,不同的阈值会有不同的处理策略。橙色阈值可能只是对它进行一个通知告警,但并不会去阻塞他接下来要去跑的任务,如果是红色阈值,一旦是破坏了强规则,这个节点就会去阻塞所有的下游,会有效的去避免脏数据的雪崩的效应,以免它大面积的去污染下游的数据,及时止损,这也是在云上饱受用户称赞的一个模块。
8、DataWorks 数据治理:数据地图
(1)
数据地图和可用性有哪些关系?前面其实在概览里提到过,数据多了以后怎么能快速的找到数据,去理解数据和使用数据。作为数据开发人员,当拿到一个业务方提的数据需求的时候,会发现自己的数据表、字段、分区非常的多,每个字段的理解也是非常的困难,如果借助数据地图,能有一个清晰有效的展示,就能快速的找到所需要的东西,所需要的字段。这比每一张表 select 一遍,然后把每个字段拿出来去猜它的意思,这样来说工作效率会高很多。数据地图包括以下能力,对数据湖里的作业可以对他源数据进行自动的采集,采集后会存储在 DLF 里,进行一个湖的管理,对于表、字段等等很多的元素都支持全局的检索。对于元数据,有很详细的详情信息可以去查看,另外也是分为不同的类目,对于目前支持的hive、spark23,它的一个表和字段的上下游的血缘关系,目前是支持了 hudi、kyuubi、spark-submit 这几种方式提交的 spark 作业,相对于 SSDS,就是 spark drift server 这种方式,目前还不支持,这是对于血缘的支持以及数据预览,比如说输入一张表,它能快速的给到这个表,像 top10、top20 等等数据的预览,这是地图的功能。
(2)这是数据地图里表详情的页面来做一个演示,
上图有表的基础信息,展示的是一些必要的东西,如表名、引擎的类型、负责人等等,这是一些技术信息,像它存储的位置,他输入输出的格式。右侧是他的一些明细、字段、分区和这个表所有的变更的履历。这个表是一个血缘的释义,可能打开这张表想探查一下它是由哪一张上游过来的,会有他上游的信息以及他输出到了哪两张表,这就是血缘的关系。同时对于选定的这张表也会展示他的基本的元素信息。
9、DataWorks 数据治理:数据全生命周期安全过程管理
(1)
第四个层次安全,对于安全的保护能力是覆盖了整个数据开发的全生命周期,具体细分为传输的安全、存储的安全、处理的安全和数据交换使用的安全。底座是通用的一些数据安全能力,比如说在数据集成当中,会对他的数据源有一个访问的控制,不同的账号登录进来,可使用的数据源其实是有权限控制的,这是数据传输的安全保障。在数据使用的时候,会用 DataStudio 或者是用数据分析模块进行一些数据的探查,这个时候就有必要去管控到使用者对于数据的下载导出,这就是下载管控。另外,还有数据保护伞可以进行数据的脱敏展示,对于关键、高敏感字段进行脱敏,脱敏之后再进行展示。数据接口健全主要讲的是数据服务的模块,当一个开发任务完成了之后,需要发布出去,发布成一个 OPPODI,对于 API 不可能是零借权的直接访问,支持像 apcode 和 passhou 账密的形式或者是 touken 等高级形式的建全,这是在数据交换使用过程中的安全保障。另外,在调度里也支持了 LDAP 的身份映射,它主要是解决从data works 的身份提交作业到 EMR 引擎之后身份是如何映射的,这是对于 LDAP 的支持和映射等等。
(2)
这里是 DataWorks on EMR 产品独有的一些东西,在去绑定或者修改集群的时候,前面讲到这个链路上有一个访问模式,分为了安全模式和快捷模式。对于快捷模式,是不区分的,通过 DataWorks 提交给到 EMR 所有的作业都会以 HADO 这个账号在 EMR 社区执行。如果配置的安全模式,他就区分了生产和开发环境,开发环境会以任务的执行者,就是谁到界面上去跑这个作业,他就以谁的身份去解决。如果是提交发布到生产之后,通过调度系统去调度的作业,可以有多种的选择,像任务的责任人、阿里云的主账号、子账号等等,有另外单独的账号映射模块去解决 DataWorks 账号和 EMR 账号之间的 Mapping,这是安全上的一些手段。
10、DataWorks 数据治理:资产盘点和资源优化
最高层次的成本也讲到了,在目前的经济形势下,其实很多企业会很关注于怎么去降本。这个时候就需要数据资产的能力,这一块其实是带支持的,就已经在计划的支持当中,估计在2023年会发布到线上的功能的。目前对于 mass computer 已经支持到,在资产盘点和资优化辅辅助降本上需要以下内容,比如说有了一个 EMR 的数据湖或者数据仓库,肯定会需要一个大的概览去看全局有哪些资产,对于资产有一个成本的盘点,比如说小到数据表,再到底层的存储的 size,再到所使用、所花费的钱,都希望他有一个总量,他的趋势的变化,和他不同的对象的分布。右侧会讲到不仅要有全局的视角,还需要有每一个开发者,甚至是每一个业务团队,他所使用的情况,它的存储量是多少,它的计算量是多少等等。另外,基于上述的数据,还希望平台能给到,比如说对表的生命周期是否有空表无效表,或者表的利用率,存储的文件大小分布等等,希望能给到这种资源优化的建议,给到用户,这个就是最高层次的资产盘点和资源优化的能力,目前对于 msas computer 已经支持了,emr 计划今年支持。
11、智能数据建模——标志、模型、指标规范设计
数据建模这个模块它主要是支持了数仓的规划、数据标准的设定、建模和指标的一些设计。数仓规划支持从业务抽象到数仓的顶层的设计,它支持设置模式、设置模型的设计空间,不同的部门可以共享一套数据标准和数据模型。对于标准方面,前面提到了它可以和 DQC 做一个无缝打通,当这个标准制定以后,可以一键的去导入到数据质量 DQC 里,在落标检查的时候不会在遇到很多困难。建模方面支持正向和逆向的建模,就能解决现有的数仓的建模难启动的难题,同时支持和数据开发的打通,能在建模的基础上自动去生成一些 etl 的代码,数据指标部分,可以根据原子指标、修饰词等批量的创建派生指标,与维度建模无缝的打通,能通过指标快速的搭建模型,这个是数据建模模块。