数据仓库数据湖数据中台一文读懂一文读懂亿信华辰

基于大数据引擎,通过可视化组件、托拉拽式实现数据汇聚与集成开发

指标定义、指标建模、指标固化、指标分析,一体化完成指标的落地与应用

组件化、零sql实现各类复杂报表和丰富多样的图表分析

面向业务人员,简单拖拽即可生成可视化图表

内置150+特效组件,快速打造酷炫灵动的可视化大屏,支持在线编码,拓展视觉体验至极致

搭载自然语言分析引擎,引入AI大模型技术,通过简单的对话问答实现快速数据分析

移动采集、审批、分析一站式解决移动办公诉求

一站式数据分析平台

了解ABI

全程“零”编码,高效实现主数据模型、主数据维护、主数据分发、主数据质量的全过程管理,为企业主数据管理落地提供有效支撑,实现各业务系统间的主数据共享,保障企业主数据的唯一性、准确性、一致性。

内置多类主数据模版,可视化实现多视角模型定义,满足复杂规则的编码自动控制

多种数据接入方式,支持不同场景的审批管控,数据版本可回溯,满足主数据的全生命周期管理

拖拽式任务设计,内置丰富组件,支持主动式、被动式分发模式

全过程质量管控,支持内置及自定义规则,提供图表式质检报告

主数据管理平台

在线模型设计,深度融合数据标准,规范数据定义

自动化元数据感知,全链路血缘提取,理清数据资源

智能化标准推荐,一键式数据落标,树立数据权威

“零”编码规则搭建,全流程质量整改,高速数据质检

规范资产目录,自助式数据共享,释放资产价值

超30+主流数据库、国产库、大数据库、文件、消息队列等接口之间极速交换结构化、非结构化数据

构建分级分类体系,动态数据脱敏,保障数据安全

全盘监控数据,决策数据周期,释放数据资源

智能数据治理平台

了解睿治

覆盖数据建模、采集、处理、集成、共享、交换、安全脱敏于一体,一站式解决数据开发所有的问题。

结合标准体系的可视化建模工具,支持模型的正、逆向构建

拖拽式任务编排,内置丰富组件,支撑亿级数据的快速处理与迁移

具备高并发、高吞吐量、低延迟的一体化任务编排能力,可视化设计、分布式运行

提供图形化的任务监控和日志跟踪,面向运维、管理人员的完善监控体系

数据工厂系统

纯web设计器,零编码完成基本表、变长表、中国式复杂报表、套打表、问卷调查表等制作;支持年报、月报、日报,以及自定义报表期等多种数据采集报送频率

提供在线填报和离线填报两种应用模式,也支持跨数据源取数;填报数据自动缓存在WEB浏览器中,即使宕机也不会丢失

内置灵活轻便的工作流引擎,实现了用户业务过程的自动化;支持层层审批、上级审批、越级审批、自定义审批等多种审批方式

对于下级填报单位上报的数据,上级汇总单位可将其进行汇总;支持层层汇总、直接下级汇总、选择单位汇总、按条件汇总、按代码组汇总、按关键字汇总、自定义汇总等

提供数据锁定机制,防止报表数据被意外修改;支持数据留痕,辅助用户过程追溯;未及时上报的用户自动催报;所见即所得的打印输出等

提供多种类型的数据接口,可以导入EXCEL、DBF、二进制、文本等格式的数据,可以将报表数据批量输出为HTML、EXCEL、XML、TXT等格式

数据采集汇总平台

统一指标定义,实现“一变多变、一数多现”的数据管理效果,为企业提供强有力的数字化保障和驱动效应。

采用可视化、导向式方式构建指标业务域,形成指标地图,全局指标一览在目

流程化自助式的定义、开发、维护各类指标,零建模,业务人员即刻上手

助力企业更好地查询、使用指标,提供共享、交换、订阅、分析、API接口等应用服务

指标管理平台

零代码+AI,有“问”必答的数字助理,利用AI大模型和数字人技术,通过语音&文字输入问题,自动识别业务指令,深度理解用户意图的问题,洞察数据,人机交互,重新定义BI新体验。

面向业务的对话式问数,即问即答,更懂你的诉求

理解数据,洞察数据,更懂数据内容,把数据见解讲给你听

动态地分析数据特点,提供最合适的图表类型展示,让数据展现更简单

完全是颠覆做表的方式,一句话看板创建,启发式内容制作

智能化生成包含深入分析和建议的报告,复杂数据简单化,释放数据潜力

数据跃然屏上的AI大屏汇报,让数据讲述故事

海量知识,一触即达,提供更智能的知识检索服务,快速找到“对”的人

不止于工具,更是随时待命的得力助手。一声指令,为您提供即时的数据分析和决策支持

智能数据问答平台

一般来讲,操作型数据库只会存放90天以内的数据,而分析型数据库存放的则是数年内的数据。这点也是将操作型数据和分析型数据进行物理分离的主要原因。

操作型数据库中自然也有汇总需求,但汇总数据本身不存储而只存储其生成公式。这是因为操作型数据是动态变化的,因此汇总数据会在每次查询时动态生成。

操作型数据通常反映的是现实世界的当前状态;而分析型数据库既有当前状态,还有过去各时刻的快照,分析型数据库的使用者可以综合所有快照对各个历史阶段进行统计分析。

操作型查询的数据量少而频率多,分析型查询则反过来,数据量大而频率少。要想同时实现这两种情况的配置优化是不可能的,这也是将两类数据库物理分隔的原因之一。

操作型数据库允许用户进行增,删,改,查;分析型数据库用户则只能进行查询。

数据的意义是什么?就是减少数据冗余,避免更新异常。而如5所述,分析型数据库中没有更新操作。因此,减少数据冗余也就没那么重要了。

现在回到开篇是提到的第二个问题"某大公司HadoopHive里的关系表不完全满足完整/参照性约束,也不完全满足范式要求,甚至第一范式都不满足。这种情况正常吗?",答曰是正常的。因为Hive是一种数据仓库,而数据仓库和分析型数据库的关系非常紧密(后文会讲到)。它只提供查询接口,不提供更新接口,这就使得消除冗余的诸多措施不需要被特别严格地执行了。

操作型数据库的使用者是业务环境内的各个角色,如用户,商家,进货商等;分析型数据库则只被少量用户用来做综合性决策。

这里说的定位,主要是指以何种目的组织起来。操作型数据库是为了支撑具体业务的,因此也被称为"面向应用型数据库";分析型数据库则是针对各特定业务主题域的分析任务创建的,因此也被称为"面向主题型数据库"。

数据仓库就是为了解决数据库不能解决的问题而提出的。那么数据库无法解决什么样的问题呢?这个我们得先说说什么是OLAP和OLTP。

OLTP(OnLineTransactionProcessing联机事务处理)。简单一些,就是数据库的增删查改。举个例子,你到银行,去取一笔钱出来,或者转账,或者只是想查一下你还有多少存款,这些都是面向“事务”类型的操作。这样的操作有几个显著的特点:

首先要求速度很快,基本上都是高可靠的在线操作(比如银行),还有这些操作涉及的数据内容不会特别大(否则速度也就相应的降低),最后,“事务”型的操作往往都要求是精准操作,比如你去银行取款,必须要求一个具体的数字,你是不可能对着柜台员工说我大概想取400到500快之间吧,那样人家会一脸懵逼。

这个东西又是上面发明关系型数据库的科德发明的。OLAP略有复杂,但这里我举一个简单的例子,大家就很容易理解了。

比如说,沃尔玛超市的数据库里有很多张表格,记录着各个商品的交易记录。超市里销售一种运动饮料,我们不妨称之为红牛。数据库中有一张表A,记录了红牛在一年的各个月份的销售额;还有一张表B,记录了红牛每个月在美国各个州的销售额:;甚至还有一张表C,记录了这家饮料公司在每个州对红牛饮料的宣传资金投入;甚至后来沃尔玛又从国家气象局拿到了美国各个州的一年365天每天的天气表。好,最后问题来了,请根据以上数据分析红牛在宣传资金不超过三百万的情况下,什么季节,什么天气,美国哪个州最好卖?凭借我们的经验,可能会得出,夏季的晴天,在美国的佛罗里达,最好卖,而且宣传资金投入越高销售额应该也会高。可能这样的结论是正确的,但决策者想要看到的是确凿的数据结论,而不是“可能”这样的字眼。

科学是不相信直觉的,如果我们人工进行手动分析,会发现这个要考虑的维度实在太多了,根本无法下手,何况这才四五个维度,要是更多了怎么办?OLAP就是为了解决这样的问题诞生的,但糟糕的是,传统数据库是无法满足OLAP所需要的数据信息的。

数据库的大规模应用,使得信息行业的数据爆炸式的增长,为了研究数据之间的关系,挖掘数据隐藏的价值,人们越来越多的需要使用OLAP来为决策者进行分析,探究一些深层次的关系和信息。但很显然,不同的数据库之间根本做不到数据共享,就算同一家数据库公司,数据库之间的集成也存在非常大的挑战(最主要的问题是庞大的数据如何有效合并、存储)。

1988年,为解决企业的数据集成问题,IBM(卧槽,又是IBM)的两位研究员(BarryDevlin和PaulMurphy)创造性地提出了一个新的术语:数据仓库(DataWarehouse)。看到这里读者朋友们可能要问了,然后呢?然后…然后就没然后了。就在这个创世纪的术语诞生了之后,IBM就哑火了,只是将这个名词作为市场宣传的花哨概念,并没有在技术领域有什么实质性的研究和突破(可悲我大IBM=。=)。

然而,尽管IBM不为所动,其他企业却在加紧对数据仓库的研究和开发,大家都想在这个领域寻找到第一桶金。终于,到了1992年,后来被誉为“数据仓库之父”的比尔恩门(BillInmon)给出了数据仓库的定义,二十多年后的今天他的定义依然没有被时代淘汰。我们来看看他是怎么定义的:数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理中的决策制定。

对于数据仓库的概念我们可以从两个层次予以理解:

首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。

我们可以不用管这个定义,简单的理解,其实就是我们为了进行OLAP,把分布在各个散落独立的数据库孤岛整合在了一个数据结构里面,称之为数据仓库。

这个数据仓库在技术上是怎么建立的读者朋友们并不需要关心,但是我们要知道,原来各个数据孤岛中的数据,可能会在物理位置(比如沃尔玛在各个州可能都有自己的数据中心)、存储格式(比如月份是数值类型,但但天气可能是字符类型)、商业平台(不同数据库可能用的是Oracle数据库,有的是微软SQLServer数据库)、编写的语言(Java或者Scale等)等等各个方面完全不同,数据仓库要做的工作就是将他们按照所需要的格式提取出来,再进行必要的转换(统一数据格式)、清洗(去掉无效或者不需要的数据)等,最后装载进数据仓库(我们所说的ETL工具就是用来干这个的)。这样,拿我们上面红牛的例子来说,所有的信息就统一放在了数据仓库中了。

自从数据仓库出现之后,信息产业就开始从以关系型数据库为基础的运营式系统慢慢向决策支持系统发展。这个决策支持系统,其实就是我们现在说的商务智能(BusinessIntelligence)即BI。

面向主题特性是数据仓库和操作型数据库的根本区别。

操作型数据库是为了支撑各种业务而建立。

而分析型数据库则是为了对从各种繁杂业务中抽象出来的分析主题(如用户、成本、商品等)进行分析而建立;所谓主题:是指用户使用数据仓库进行决策时所关心的重点方面,如:收入、客户、销售渠道等;所谓面向主题,是指数据仓库内的信息是按主题进行组织的,而不是像业务支撑系统那样是按照业务功能进行组织的。

集成性是指数据仓库会将不同源数据库中的数据汇总到一起;

具体来说,是指数据仓库中的信息不是从各个业务系统中简单抽取出来的,而是经过一系列加工、整理和汇总的过程,因此数据仓库中的信息是关于整个企业的一致的全局信息。

数据仓库内的数据是面向公司全局的。比如某个主题域为成本,则全公司和成本有关的信息都会被汇集进来;

数据仓库内的信息并不只是反映企业当前的状态,而是记录了从过去某一时点到当前各个阶段的信息。通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。

数据仓库平台逐步从BI报表为主到分析为主、到预测为主、再到操作智能为目标。

从过去报表发生了什么—>分析为什么过去会发生---->将来会发生什么---->什么正在发生----->让正确的事情发生

商务智能(BI,BusinessIntelligence)是一种以提供决策分析性的运营数据为目的而建立的信息系统。

是属于在线分析处理:OnLineAnalyticalProcessing(OLAP),将预先计算完成的汇总数据,储存于魔方数据库(Cube)之中,针对复杂的分析查询,提供快速的响应。

在前10年,BI报表项目比较多,是数据仓库项目的前期预热项目(主要分析为主的阶段,是数据仓库的初级阶段),制作一些可视化报表展现给管理者:

它利用信息科技,将分散于企业内、外部各种数据加以整合并转换成知识,并依据某些特定的主题需求,进行决策分析和运算;用户则通过报表、图表、多维度分析的方式,寻找解决业务问题所需要的方案;这些结果将呈报给决策者,以支持策略性的决策和定义组织绩效,或者融入智能知识库自动向客户推送。

数据仓库系统的作用能实现跨业务条线、跨系统的数据整合,为管理分析和业务决策提供统一的数据支持。数据仓库能够从根本上帮助你把公司的运营数据转化成为高价值的可以获取的信息(或知识),并且在恰当的时候通过恰当的方式把恰当的信息传递给恰当的人。

是面向企业中、高级管理进行业务分析和绩效考核的数据整合、分析和展现的工具;

是主要用于历史性、综合性和深层次数据分析;

能够提供灵活、直观、简洁和易于操作的多维查询分析;

不是日常交易操作系统,不能直接产生交易数据。

传统离线数据仓库针对实时数据处理,非结构化数据处理能力较弱,以及在业务在预警预测方面应用相对有限。

但现在已经开始兴起实时数仓。

数据仓库的核心组件有四个:业务系统各源数据库,ETL,数据仓库,前端应用。如下图所示:

业务系统包含各种源数据库,这些源数据库既为业务系统提供数据支撑,同时也作为数据仓库的数据源(注:除了业务系统,数据仓库也可从其他外部数据源获取数据);

数据仓库会周期不断地从源数据库提取清洗好了的数据,因此也被称为"目标系统"。ETL分别代表:

表示从操作型数据库搜集指定数据

加载过程表示将转换过后满足指定格式的数据加载进数据仓库。

和操作型数据库一样,数据仓库通常提供具有直接访问数据仓库功能的前端应用,这些应用也被称为BI(商务智能)应用。

数据仓库系统除了包含分析产品本身之外,还包含数据集成、数据存储、数据计算、门户展现、平台管理等其它一系列的产品。

数据仓库的开发流程和数据库的比较相似,因此本文仅就其中区别进行分析。

下图为数据仓库的开发流程:

需求搜集是所有环节中最重要的一步,吃透了用户需求,往往就成功了大半。这些需求将指导后面如需求建模、实现、以及前端应用程序开发等。通常来说,需求都会通过ER图来表示(参考数据库需求与ER建模),并和各业务方讨论搜集得到,最终整理成文档。

要特别强调的一点是数据仓库系统开发需求阶段过程是循环迭代式的,一开始的需求集并不大,但随着项目的进展,需求会越来越多。而且不论是以上哪个阶段发生了需求变动,整个流程都需要重新走一遍,决不允许隐式变更需求。

比如为一个学生选课系统进行ER建模,得到如下结果:

也就是逻辑模型建模,可参考第二篇:数据库关系建模

ER建模环节完成后,需求就被描述成了ER图。之后,便可根据这个ER图设计相应的关系表了。

但从ER图到具体关系表的建立还需要经过两个步骤:1.逻辑模型设计2.物理模型设计。其中前者将ER图映射为逻辑意义上的关系表,后者则映射为物理意义上的关系表。

逻辑意义上的关系表可以理解为单纯意义上的关系表,它不涉及到表中字段数据类型,索引信息,触发器等等细节信息。

我们首先可以认为【概念模型建模和ER建模,需求可视化】表达的是一个意思。在这个环节中,数据开发人员绘制ER图,并和项目各方人员协同需求,达成一致。由于这部分的工作涉及到的人员开发能力比较薄弱,甚至不懂开发,因此ER图必须清晰明了,不能涉及到过多的技术细节,比如:要给多对多联系/多值属性等多建一张表,要设置外码,各种复合主码等,它们应当对非开发人员透明。而且ER图中每个属性只会出现一次,减少了蕴含的信息量,是更好的交流和文档化工具。在ER图绘制完毕之后,才开始将它映射为关系表。这个映射的过程,就叫做逻辑模型建模或者关系建模。

还有,ER模型所蕴含的信息,也没有全部被逻辑模型包含。比如联系的自定义基数约束,比如实体的复合属性,派生属性,用户的自定义约束等等。因此ER模型在整个开发流程(如物理模型建模,甚至前端开发)中是都会用到的,不能认为ER模型转换到逻辑模型后就可以扔一边了。

逻辑模型设计好后,就可以开始着手数据仓库的物理实现了,他也被称为物理模型建模,这个阶段不但需要参照逻辑模型,还应当参照ER图。

这一步的本质就是在空的数据仓库里实现2种前面创建的关系模型,一般通过使用SQL或者提供的前端工具实现。

前端应用开发在需求搜集好了之后就开始进行,主要有网站、APP等前端形式。另外前端程序的实际实现涉及到和数据仓库之间交互,因此这一步的最终完成在数据库建模之后。

较之数据库系统开发流程,数据仓库开发只多出ETL工程部分。然而这一部分极有可能是整个数据仓库开发流程中最为耗时耗资源的一个环节。因为该环节要整理各大业务系统中杂乱无章的数据并协调元数据上的差别,所以工作量很大。在很多公司都专门设有ETL工程师这样的岗位,大的公司甚至专门聘请ETL专家。

顾名思义,这一步就是部署数据库系统的软硬件环境。数据库部署往往还包含将初始数据填入数据库中的意思。对于云数据仓库,这一步就叫"数据上云"。

这一步没啥多讲的,就再讲一个有关的故事吧。同样是在A公司,有一次某政企私有云项目完成后,我们有人被派去给他们培训如何使用。结果去的人回来后说政企意见很大,认为让他们学习SQL以外的东西都不行。拒绝用Python写UDF,更拒绝MR编程接口,只要SQL和图形界面操作方式。一开始我对政企的这种行为有点看不起,但后来我想,就是因为有这群挑剔的用户,才使得A公司云产品的易用性如此强大,从而占领国内云计算的大部分市场。用户的需求才是技术的唯一试金石。

严格来讲,这部分不算开发流程,属于数据库系统开发完成后的工作。

数据仓库系统发行后,控制权便从数据仓库设计、实现、部署的团队移交给了数据仓库管理员,并由他们来对系统进行管理,涵盖了确保一个已经部署的数据仓库系统正确运行的各种行为。为了实现这一目标,具体包含以下范畴:

数据仓库系统需要重视数据质量问题。用一句话概括,数据质量就是衡量数据能否真实、及时反映客观世界的指标。具体来说,数据质量包含以下几大指标:

数据集市可以分为两种:

一种是独立数据集市(independentdatamart),这类数据集市有自己的源数据库和ETL架构;

另一种是非独立数据集市(dependentdatamart),这种数据集市没有自己的源系统,它的数据来自数据仓库。当用户或者应用程序不需要/不必要/不允许用到整个数据仓库的数据时,非独立数据集市就可以简单为用户提供一个数据仓库的子集。

Pentaho首席技术官JamesDixon创造了“数据湖”一词。它把数据集市描述成一瓶水(清洗过的,包装过的和结构化易于使用的)。

而数据湖更像是在自然状态下的水,数据流从源系统流向这个湖。用户可以在数据湖里校验,取样或完全的使用数据。

这个也是一个不精确的定义。数据湖还有以下特点:

数据湖为什么叫数据湖而不叫数据河或者数据海?一个有意思的回答是:

“河”强调的是流动性,“海纳百川”,河终究是要流入大海的,而企业级数据是需要长期沉淀的,因此叫“湖”比叫“河”要贴切;

同时,湖水天然是分层的,满足不同的生态系统要求,这与企业建设统一数据中心,存放管理数据的需求是一致的,“热”数据在上层,方便应用随时使用;温数据、冷数据位于数据中心不同的存储介质中,达到数据存储容量与成本的平衡。

不叫“海”的原因在于,海是无边无界的,而“湖”是有边界的,这个边界就是企业/组织的业务边界;因此数据湖需要更多的数据管理和权限管理能力。

叫“湖”的另一个重要原因是数据湖是需要精细治理的,一个缺乏管控、缺乏治理的数据湖最终会退化为“数据沼泽”,从而使应用无法有效访问数据,使存于其中的数据失去价值。

数据湖(DataLake)是一个存储企业的各种各样原始数据的大型仓库,其中的数据可供存取、处理、分析及传输。数据湖是以其自然格式存储的数据的系统或存储库,通常是对象blob或文件。

数据湖通常是企业所有数据的单一存储,包括源系统数据的原始副本,以及用于报告、可视化、分析和机器学习等任务的转换数据。

数据湖从企业的多个数据源获取原始数据,并且针对不同的目的,同一份原始数据还可能有多种满足特定内部模型格式的数据副本。因此,数据湖中被处理的数据可能是任意类型的信息,从结构化数据到完全非结构化数据。

数据湖可以包括:

目前,HDFS是最常用的部署数据湖的技术,所以很多人会觉得数据湖就是HDFS集群。数据湖是一个概念,而HDFS是用于实现这个概念的技术。

AWS定义数据湖是一个集中式存储库,允许您以任意规模存储所有结构化和非结构化数据。

Adatalakeisacentralizedrepositorythatallowsyoutostoreallyourstructuredandunstructureddataatanyscale.Youcanstoreyourdataas-is,withouthavingtofirststructurethedata,andrundifferenttypesofanalytics—fromdashboardsandvisualizationstobigdataprocessing,real-timeanalytics,andmachinelearningtoguidebetterdecisions.

数据湖是一个集中式存储库,允许您以任意规模存储所有结构化和非结构化数据。您可以按原样存储数据(无需先对数据进行结构化处理),并运行不同类型的分析–从控制面板和可视化到大数据处理、实时分析和机器学习,以指导做出更好的决策。

微软的定义就更加模糊了,并没有明确给出什么是DataLake,而是取巧的将数据湖的功能作为定义,数据湖包括一切使得开发者、数据科学家、分析师能更简单的存储、处理数据的能力,这些能力使得用户可以存储任意规模、任意类型、任意产生速度的数据,并且可以跨平台、跨语言的做所有类型的分析和处理。

AzureDataLakeincludesallthecapabilitiesrequiredtomakeiteasyfordevelopers,datascientists,andanalyststostoredataofanysize,shape,andspeed,anddoalltypesofprocessingandanalyticsacrossplatformsandlanguages.Itremovesthecomplexitiesofingestingandstoringallofyourdatawhilemakingitfastertogetupandrunningwithbatch,streaming,andinteractiveanalytics.AzureDataLakeworkswithexistingITinvestmentsforidentity,management,andsecurityforsimplifieddatamanagementandgovernance.Italsointegratesseamlesslywithoperationalstoresanddatawarehousessoyoucanextendcurrentdataapplications.We’vedrawnontheexperienceofworkingwithenterprisecustomersandrunningsomeofthelargestscaleprocessingandanalyticsintheworldforMicrosoftbusinesseslikeOffice365,XboxLive,Azure,Windows,Bing,andSkype.AzureDataLakesolvesmanyoftheproductivityandscalabilitychallengesthatpreventyoufrommaximizingthevalueofyourdataassetswithaservicethat’sreadytomeetyourcurrentandfuturebusinessneeds.

数据湖需要提供足够用的数据存储能力这个存储保存了一个企业/组织中的所有数据。

数据湖可以存储海量的任意类型的数据包括结构化、半结构化和非结构化数据。

数据湖中的数据是原始数据,是业务数据的完整副本。数据湖中的数据保持了他们在业务系统中原来的样子。

数据湖需要具备多样化的分析能力包括但不限于批处理、流式计算、交互式分析以及机器学习;同时,还需要提供一定的任务调度和管理能力。

数据湖需要具备完善的数据生命周期管理能力。不光需要存储原始数据,还需要能够保存各类分析处理的中间结果,并完整的记录数据的分析处理过程,能帮助用户完整详细追溯任意一条数据的产生过程。

对于大数据的支持,包括超大规模存储以及可扩展的大规模数据处理能力。

BI分析工具,如Tableau、PowerBI、R、Python和机器学习模型,是为数据生活在一个单一的、高性能的关系数据库中的环境而设计的。然而,多数组织使用不同的数据格式和不同的技术在多种解决方案中管理他们的数据。多数组织现在使用一个或多个非关系型数据存储,如云存储(如S3、ADLS)、Hadoop和NoSQL数据库(如Elasticsearch、Cassandra)。

当数据存储在一个独立的高性能关系数据库中时,BI工具、数据科学系统和机器学习模型可以很好运用这部分数据。然而,就像我们上面所说的一样,数据这并不是存在一个地方。因此,我们通常应用自定义ETL开发来集成来自不同系统的数据,以便于我们后续分析。通常分析技术栈分为以下几类:

数据从不同的数据库转移到单一的存储区域,如云存储服务(如AmazonS3、ADLS)、HDFS。

虽然可以在Hadoop和云存储上直接执行SQL查询,但是这些系统的设计目的并不是提供交互性能。因此,数据的子集通常被加载到关系数据仓库或MPP数据库中,也就是构建数据仓库。

为了在大型数据集上提供交互性能,必须通过在OLAP系统中构建多维数据集或在数据仓库中构建物化聚合表对数据进行预聚合

这种多层体系架构带来了许多挑战。例如:

数据湖引擎采用了一种不同的方法来支持数据分析。数据湖引擎不是将数据移动到单个存储库中,而是在数据原本存储的地方访问数据,并动态地执行任何必要的数据转换和汇总。此外,数据湖引擎还提供了一个自助服务模型,使数据使用者能够使用他们喜欢的工具(如PowerBI、Tableau、Python和R)探索、分析数据,而不用关心数据在哪存、结构如何。

有些数据源可能不适合分析处理,也无法提供对数据的有效访问。数据湖引擎提供了优化数据物理访问的能力。有了这种能力,可以在不改变数据使用者访问数据的方式和他们使用的工具的情况下优化各个数据集。

与传统的解决方案相比,数据湖引擎使用多种技术使数据消费者能够访问数据,并集成这些技术功能到一个自助服务的解决方案中。

数据湖可以认为是新一代的大数据基础设施。为了更好的理解数据湖的基本架构,我们先来看看大数据基础设施架构的演进过程。

如下图所示,Hadoop是以HDFS为核心存储,以MapReduce(简称MR)为基本计算模型的批量数据处理基础设施。

围绕HDFS和MR,产生了一系列的组件,不断完善整个大数据平台的数据处理能力,例如面向在线KV操作的HBase、面向SQL的HIVE、面向工作流的PIG等。同时,随着大家对于批处理的性能要求越来越高,新的计算模型不断被提出,产生了Tez、Spark、Presto、Flink等计算引擎,MR模型也逐渐进化成DAG模型。

DAG模型一方面增加计算模型的抽象并发能力:对每一个计算过程进行分解,根据计算过程中的聚合操作点对任务进行逻辑切分,任务被切分成一个个的stage,每个stage都可以有一个或者多个Task组成,Task是可以并发执行的,从而提升整个计算过程的并行能力;

另一方面,为减少数据处理过程中的中间结果写文件操作,Spark、Presto等计算引擎尽量使用计算节点的内存对数据进行缓存,从而提高整个数据过程的效率和系统吞吐能力。

随着数据处理能力和处理需求的不断变化,越来越多的用户发现,批处理模式无论如何提升性能,也无法满足一些实时性要求高的处理场景,流式计算引擎应运而生,例如Storm、SparkStreaming、Flink等。

然而,随着越来越多的应用上线,大家发现,其实批处理和流计算配合使用,才能满足大部分应用需求;而对于用户而言,其实他们并不关心底层的计算模型是什么,用户希望无论是批处理还是流计算,都能基于统一的数据模型来返回处理结果,于是Lambda架构被提出,如下图所示。

Lambda架构的核心理念是“流批一体”,如上图所示,整个数据流向自左向右流入平台。进入平台后一分为二,一部分走批处理模式,一部分走流式计算模式。无论哪种计算模式,最终的处理结果都通过统一服务层对应用提供,确保访问的一致性,底层到底是批或流对用户透明。

综上,从传统的hadoop架构往lambda架构,从lambda架构往Kappa架构的演进,大数据平台基础架构的演进逐渐囊括了应用所需的各类数据处理能力,大数据平台逐渐演化成了一个企业/组织的全量数据处理平台。当前的企业实践中,除了关系型数据库依托于各个独立的业务系统;其余的数据,几乎都被考虑纳入大数据平台来进行统一的处理。

大数据基础架构的演进,其实反应了一点:在企业/组织内部,数据是一类重要资产已经成为了共识;为了更好的利用数据,企业/组织需要对数据资产进行如下操作:

进行长期的原样存储,以便可回溯重放原始数据

进行有效管理与集中治理;

提供多模式的计算能力满足处理需求;

以及面向业务,提供统一的数据视图、数据模型与数据处理结果。

数据湖就是在这个大背景下产生的,除了有大数据平台所拥有的各类基础能力之外,数据湖更强调对于数据的管理、治理和资产化能力。

落到具体的实现上,数据湖需要包括一系列的数据管理组件,包括:

如下图所示,给出了一个数据湖系统的参考架构。

对于一个典型的数据湖而言,它与大数据平台相同的地方在于它也具备处理超大规模数据所需的存储和计算能力,能提供多模式的数据处理能力;增强点在于数据湖提供了更为完善的数据管理能力,具体体现在:

管理能力具体又可分为基本管理能力和扩展管理能力:

数据湖中的各类计算引擎会与数据湖中的数据深度融合,而融合的基础就是数据湖的元数据。

好的数据湖系统,计算引擎在处理数据时,能从元数据中直接获取数据存储位置、数据格式、数据模式、数据分布等信息,然后直接进行数据处理,而无需进行人工/编程干预。更进一步,好的数据湖系统还可以对数据湖中的数据进行访问控制,控制的力度可以做到“库表列行”等不同级别。

还有一点应该指出的是,前面数据湖系统的参考架构图的集中式存储更多的是业务概念上的集中,本质上是希望一个企业/组织内部的数据能在一个明确统一的地方进行沉淀。事实上,数据湖的存储应该是一类可按需扩展的分布式文件系统,大多数数据湖实践中也是推荐采用S3/OSS/OBS/HDFS等分布式系统作为数据湖的统一存储。

我们可以再切换到数据维度,从数据生命周期的视角来看待数据湖对于数据的处理方式,数据在数据湖中的整个生命周期如下图所示。理论上,一个管理完善的数据湖中的数据会永久的保留原始数据,同时过程数据会不断的完善、演化,以满足业务的需要。

数据湖能给企业带来多种能力,例如,能实现数据的集中式管理,在此之上,企业能挖掘出很多之前所不具备的能力。

另外,数据湖结合先进的数据科学与机器学习技术,能帮助企业构建更多优化后的运营模型,也能为企业提供其他能力,如预测分析、推荐模型等,这些模型能刺激企业能力的后续增长。数据湖能从以下方面帮助到企业:

数据仓库供应商包括AWS、Cloudera、IBM、谷歌、微软、甲骨文、Teradata、SAP、SnapLogic和Snowflake等。数据湖提供商包括AWS、谷歌、Informatica、微软、Teradata等。

因为数据湖使用的硬件与数据仓库的使用的不同,使这种方法成为了可能。现成的服务器与便宜的存储相结合,使数据湖扩展到TB级和PB级非常经济。

在储存方面上,数据湖中数据为非结构化的,所有数据都保持原始形式,并且仅在分析时再进行转换。

数据仓库一般由从事务系统中提取的数据组成,并由定量度量和描述它们的属性组成。诸如Web服务器日志,传感器数据,社交网络活动,文本和图像等非传统数据源在很大程度上被忽略。这些数据类型的新用途不断被发现,但是消费和存储它们可能是昂贵和困难的。

数据湖方法包含这些非传统数据类型。在数据湖中,我们保留所有数据,而不考虑源和结构。我们保持它的原始形式,并且只有在我们准备好使用它时才会对其进行转换。这种方法被称为“读时模式”。

数据仓库则是捕获结构化数据并将其按模式组织。

其他用户则可以使用更为结构化的数据视图如数据仓库来提供他们使用的数据,数据仓库非常适用于月度报告等操作用途,因为它具有高度结构化。

许多业务问题都迫不及待地让数据仓库团队适应他们的系统来回答问题。日益增长的对更快答案的需求促成了自助式商业智能的概念。

另一方面,在数据湖中,由于所有数据都以其原始形式存储,并且始终可供需要使用它的人访问,因此用户有权超越仓库结构以新颖方式探索数据并回答它们问题在他们的步伐。

如果一个探索的结果被证明是有用的并且有重复的愿望,那么可以应用更正式的模式,并且可以开发自动化和可重用性来帮助将结果扩展到更广泛的受众。如果确定结果无用,则可以丢弃该结果,并且不会对数据结构进行任何更改,也不会消耗开发资源。

所以,在架构方面:数据湖通常在存储数据之后定义架构,使用较少的初始工作并提供更大的灵活性。在数据仓库中存储数据之前定义架构。

最后的区别实际上是其他区别结果。由于数据湖包含所有数据和数据类型,因为它使用户能够在数据转换,清理和结构化之前访问数据,从而使用户能够比传统数据仓库方法更快地获得结果。

但是,这种对数据的早期访问是有代价的。通常由数据仓库开发团队完成的工作可能无法完成分析所需的部分或全部数据源。这让驾驶座位的用户可以根据需要探索和使用数据,但上述第一层业务用户可能不希望这样做。他们仍然只想要他们的报告和KPI。

在数据湖中,这些操作报告的使用者将利用更加结构化的数据湖中数据的结构视图,这些视图与数据仓库中以前一直存在的数据相似。不同之处在于,这些视图主要存在于位于湖泊中的数据之上的元数据,而不是需要开发人员更改的物理刚性表格。

误解一:数据仓库和数据湖二者在架构上只能二选一

很多人认为数据仓库和数据湖在架构上只能二选一,其实这种理解是错误的。数据湖和数据仓库并不是对立关系,相反它们的并存可以互补给企业架构带来更多的好处:数据仓库存储结构化的数据,适用于快速的BI和决策支撑,而数据湖可以存储任何格式的数据,往往通过挖掘能够发挥出数据的更大作为。所以在一些场景上二者的并存是可以给企业带来更多效益的。

人工智能(AI)和机器学习项目的成功往往需要数据湖来做支撑。因为数据湖可让您存储几乎任何类型的数据而无需先准备或清理,所以可以保留尽可能多的潜在价值。而数据仓库存储的数据都是经过清洗,往往会丢失一些有价值的信息。数据仓库虽然是这两种中比较知名的,但是随着数据挖掘需求的发展,数据湖的受欢迎程度可能会继续上升。数据仓库对于某些类型的工作负载和用例工作良好,而数据湖则是为其他类型的工作负载提供服务的另一种选择。

确实,数据湖需要数据工程师和数据科学家的特定技能,才能对存储在其中的数据进行分类和利用。数据的非结构化性质使那些不完全了解数据湖如何工作的人更难以访问它。但是,一旦数据科学家和数据工程师建立了数据模型或管道,业务用户就可以利用建立的数据模型以及流行的业务工具(定制或预先构建)的来访问和分析数据,而不在乎该数据存储在数据仓库中还是数据湖中。

个人认为数据湖是比传统大数据平台更为完善的大数据处理基础支撑设施,完善在数据湖是更贴近客户业务的技术存在。所有数据湖所包括的、且超出大数据平台存在的特性,例如元数据、数据资产目录、权限管理、数据生命周期管理、数据集成和数据开发、数据治理和质量管理等,无一不是为了更好的贴近业务,更好的方便客户使用。数据湖所强调的一些基本的技术特性,例如弹性、存储计算独立扩展、统一的存储引擎、多模式计算引擎等等,也是为了满足业务需求,并且给业务方提供最具性价比的TCO。

数据湖的建设过程应该与业务紧密结合;但是数据湖的建设过程与传统的数据仓库,甚至是大热的数据中台应该是有所区别的。区别在于,数据湖应该以一种更敏捷的方式去构建,“边建边用,边用边治理”。为了更好的理解数据湖建设的敏捷性,我们先来看一下传统数仓的构建过程。业界对于传统数仓的构建提出了“自下而上”和“自顶而下”两种模式,分别由Inmon和KimBall两位大牛提出。具体的过程就不详述了,不然可以再写出几百页,这里只简单阐述基本思想。

1)Inmon提出自下而上(EDW-DM)的数据仓库建设模式,即操作型或事务型系统的数据源,通过ETL抽取转换和加载到数据仓库的ODS层;ODS层中的数据,根据预先设计好的EDW(企业级数据仓库)范式进行加工处理,然后进入到EDW。EDW一般是企业/组织的通用数据模型,不方便上层应用直接做数据分析;因此,各个业务部门会再次根据自己的需要,从EDW中处理出数据集市层(DM)。

优势:易于维护,高度集成;劣势:结构一旦确定,灵活性不足,且为了适应业务,部署周期较长。此类方式构造的数仓,适合于比较成熟稳定的业务,例如金融。

2)KimBall提出自顶而下(DM-DW)的数据架构,通过将操作型或事务型系统的数据源,抽取或加载到ODS层;然后通过ODS的数据,利用维度建模方法建设多维主题数据集市(DM)。各个DM,通过一致性的维度联系在一起,最终形成企业/组织通用的数据仓库。

优势:构建迅速,最快的看到投资回报率,敏捷灵活;劣势:作为企业资源不太好维护,结构复杂,数据集市集成困难。常应用于中小企业或互联网行业。

其实上述只是一个理论上的过程,其实无论是先构造EDW,还是先构造DM,都离不开对于数据的摸底,以及在数仓构建之前的数据模型的设计,包括当前大热的“数据中台”,都逃不出下图所示的基本建设过程。

针对企业/组织的业务特点梳理归类各类数据,对数据进行领域划分,形成数据管理的元数据,同时基于元数据,构建通用的数据模型。

根据第一步的摸排结果,确定要接入的数据源。根据数据源,确定所必须的数据接入技术能力,完成数据接入技术选型,接入的数据至少包括:数据源元数据、原始数据元数据、原始数据。各类数据按照第二步形成的结果,分类存放。

简单来说就是利用数据湖提供的各类计算引擎对数据进行加工处理,形成各类中间数据/结果数据,并妥善管理保存。数据湖应该具备完善的数据开发、任务管理、任务调度的能力,详细记录数据的处理过程。在治理的过程中,会需要更多的数据模型和指标模型。

在通用模型基础上,各个业务部门定制自己的细化数据模型、数据使用流程、数据访问服务。

上述过程,对于一个快速成长的互联网企业来说,太重了,很多情况下是无法落地的,最现实的问题就是第二步模型抽象,很多情况下,业务是在试错、在探索,根本不清楚未来的方向在哪里,也就根本不可能提炼出通用的数据模型;没有数据模型,后面的一切操作也就无从谈起,这也是很多高速成长的企业觉得数据仓库/数据中台无法落地、无法满足需求的重要原因之一。

数据湖应该是一种更为“敏捷”的构建方式,我们建议采用如下步骤来构建数据湖。

对比,依然是五步,但是这五步是一个全面的简化和“可落地”的改进。

根据数据摸底的情况,确定数据湖建设的技术选型。事实上,这一步也非常的简单,因为关于数据湖的技术选型,业界有很多的通行的做法,基本原则个人建议有三个:“计算与存储分离”、“弹性”、“独立扩展”。建议的存储选型是分布式对象存储系统(如S3/OSS/OBS);计算引擎上建议重点考虑批处理需求和SQL处理能力,因为在实践中,这两类能力是数据处理的关键,关于流计算引擎后面会再讨论一下。无论是计算还是存储,建议优先考虑serverless的形式;后续可以在应用中逐步演进,真的需要独立资源池了,再考虑构建专属集群。

确定要接入的数据源,完成数据的全量抽取与增量接入。

这一步是数据湖的关键,我个人把“融合治理”改成了“应用治理”。从数据湖的角度来看,数据应用和数据治理应该是相互融合、密不可分的。从数据应用入手,在应用中明确需求,在数据ETL的过程中,逐步形成业务可使用的数据;同时形成数据模型、指标体系和对应的质量标准。数据湖强调对原始数据的存储,强调对数据的探索式分析与应用,但这绝对不是说数据湖不需要数据模型;恰恰相反,对业务的理解与抽象,将极大的推动数据湖的发展与应用,数据湖技术使得数据的处理与建模,保留了极大的敏捷性,能快速适应业务的发展与变化。

从技术视角来看,数据湖不同于大数据平台还在于数据湖为了支撑数据的全生命周期管理与应用,需要具备相对完善的数据管理、类目管理、流程编排、任务调度、数据溯源、数据治理、质量管理、权限管理等能力。在计算能力上,目前主流的数据湖方案都支持SQL和可编程的批处理两种模式(对机器学习的支持,可以采用Spark或者Flink的内置能力);在处理范式上,几乎都采用基于有向无环图的工作流的模式,并提供了对应的集成开发环境。对于流式计算的支持,目前各个数据湖解决方案采取了不同的方式。在讨论具体的方式之前,我们先对流计算做一个分类:

这种流计算模式相当于对数据采用“来一条处理一条”/“微批”的方式进行处理;多见于在线业务,如风控、推荐、预警等。

二者的本质不同在于,模式一处理数据时,数据往往还没有存储到数据湖中,仅仅是在网路/内存中流动;模式二处理数据时,数据已经存储到数据湖中了。综上,我个人建议采用如下图模式:

图24数据湖数据流向示意图

如图24所示,在需要数据湖具备模式一的处理能力时,还是应该引入类Kafka中间件,作为数据转发的基础设施。完整的数据湖解决方案方案应该提供将原始数据导流至Kafka的能力。流式引擎具备从类Kafka组件中读取数据的能力。流式计算引擎在处理数据过后,根据需要,可以将结果写入OSS/RDBMS/NoSQL/DW,供应用访问。某种意义上,模式一的流计算引擎并非一定要作为数据湖不可分割的一部分存在,只需要在应用需要时,能够方便的引入即可。但是,这里需要指出的是:

1)流式引擎依然需要能够很方便的读取数据湖的元数据;

2)流式引擎任务也需要统一的纳入数据湖的任务管理;

3)流式处理任务依然需要纳入到统一的权限管理中。

对于模式二,本质上更接近于批处理。现在许多经典的大数据组件已经提供了支持方式,如HUDI/IceBerg/Delta等,均支持Spark、Presto等经典的计算引擎。以HUDI为例,通过支持特殊类型的表(COW/MOR),提供访问快照数据(指定版本)、增量数据、准实时数据的能力。目前AWS、腾讯等已经将HUDI集成到了其EMR服务中,阿里云的DLA也正在计划推出DLAonHUDI的能力。

让我们再回到本文开头的第一章,我们说过,数据湖的主要用户是数据科学家和数据分析师,探索式分析和机器学习是这类人群的常见操作;流式计算(实时模式)多用于在线业务,严格来看,并非数据湖目标用户的刚需。但是,流式计算(实时模式)是目前大多数互联网公司在线业务的重要组成部分,而数据湖作为企业/组织内部的数据集中存放地,需要在架构上保持一定的扩展能力,可以很方便的进行扩展,整合流式计算能力。

整个方案基于AWSLakeFormation构建,AWSLakeFormation本质上是一个管理性质的组件,它与其他AWS服务互相配合,来完成整个企业级数据湖构建功能。上图自左向右,体现了数据流入、数据沉淀、数据计算、数据应用四个步骤。我们进一步来看其关键点:

个人认为这进一步体现了数据湖需要支持各种不同的存储引擎,未来的数据湖可能不只S3/OSS/OBS/HDFS一类核心存储,可能根据应用的访问需求,纳入更多类型的存储引擎,例如,S3存储原始数据,NoSQL存储处理过后适合以“键值”模式访问的数据,OLAP引擎存储需要实时出各类报表/adhoc查询的数据。虽然当前各类材料都在强调数据湖与数据仓库的不同;但是,从本质上,数据湖更应该是一类融合的数据管理思想的具体实现,“湖仓一体化”也很可能是未来的一个发展趋势。

综上,AWS数据湖方案成熟度高,特别是元数据管理、权限管理上考虑充分,打通了异构数据源与各类计算引擎的上下游关系,让数据能够自由“移动”起来。

在流计算和机器学习上,AWS的解决方案也比较完善:

流计算方面AWS推出了专门的流计算组件Kinesis,Kinesis中的KinesisdataFirehose服务可以创建一个完全被托管的数据分发服务,通过KinesisdataStream实时处理的数据,可以借助Firehose方便的写入S3中,并支持相应的格式转换,如将JSON转换成Parquet格式。

AWS整个方案最牛的地方还在与Kinesis可以访问GLUE中的元数据,这一点充分体现了AWS数据湖解决方案在生态上的完备性。

同样,在机器学习方面,AWS提供了SageMaker服务,SageMaker可以读取S3中的训练数据,并将训练好的模型回写至S3中。但是,有一点需要指出的是,在AWS的数据湖解决方案中,流计算和机器学习并不是固定捆绑的,只是作为计算能力扩展,能方便的集成。

最后,让我们回到数据湖组件参考架构,看看AWS的数据湖解决方案的组件覆盖情况,参见下图AWS数据湖解决方案在参考架构中的映射。

其中DLI相当于是AWS的LakeFormation、GLUE、Athena、EMR(Flink&Spark)的集合。官网上没找到关于DLI的整体架构图,我根据自己的理解,尝试画了一个,主要是和AWS的解决方案有一个对比,所以形式上尽量一致。

华为的数据湖解决方案比较完整,DLI承担了所有的数据湖构建、数据处理、数据管理、数据应用的核心功能。DLI最大的特色是在于分析引擎的完备性,包括基于SQL的交互式分析以及基于Spark+Flink的流批一体处理引擎。在核心存储引擎上,DLI依然通过内置的OBS来提供,和AWSS3的能力基本对标。华为数据湖解决方案在上下游生态上做的比AWS相对完善,对于外部数据源,几乎支持所有目前华为云上提供的数据源服务。

DLI可以与华为的CDM(云数据迁移服务)和DIS(数据接入服务)对接:1)借助DIS,DLI可以定义各类数据点,这些点可以在Flink作业中被使用,做为source或者sink;2)借助CDM,DLI甚至能接入IDC、第三方云服务的数据。

为了更好的支持数据集成、数据开发、数据治理、质量管理等数据湖高级功能,华为云提供了DAYU平台。DAYU平台是华为数据湖治理运营方法论的落地实现。DAYU涵盖了整个数据湖治理的核心流程,并对其提供了相应的工具支持;甚至在华为的官方文档中,给出了数据治理组织的构建建议。DAYU的数据治理方法论的落地实现如下图所示(来自华为云官网)。

整个方案依然采用OSS作为数据湖的集中存储。在数据源的支持上,目前也支持所有的阿里云数据库,包括OLTP、OLAP和NoSQL等各类数据库。核心关键点如下:

数据接入与搬迁。在建湖过程中,DLA的Formation组件具备元数据发现和一键建湖的能力,在本文写作之时,目前“一键建湖”还只支持全量建湖,但是基于binlog的增量建湖已经在开发中了,预计近期上线。增量建湖能力会极大的增加数据湖中数据的实时性,并将对源端业务数据库的压力降到最下。这里需要注意的是,DLAFormation是一个内部组件,对外并没有暴露。

数据资源目录。DLA提供Metadatacatalog组件对于数据湖中的数据资产进行统一的管理,无论数据是在“湖中”还是在“湖外”。Metadatacatalog也是联邦分析的统一元数据入口。

在内置计算引擎上,DLA提供了SQL计算引擎和Spark计算引擎两种。无论是SQL还是Spark引擎,都和Metadatacatalog深度集成,能方便的获取元数据信息。基于Spark的能力,DLA解决方案支持批处理、流计算和机器学习等计算模式。

在外围生态上,除了支持各类异构数据源做数据接入与汇聚之外,在对外访问能力上,DLA与云原生数据仓库(原ADB)深度整合。一方面,DLA处理的结果可之际推送至ADB中,满足实时、交互式、adhoc复杂查询;另一方面,ADB里的数据也可以借助外表功能,很方便的进行数据回流至OSS中。基于DLA,阿里云上各类异构数据源可以完全被打通,数据自由流动。

在数据集成和开发上,阿里云的数据湖解决方案提供两种选择:一种是采用dataworks完成;另一种是采用DMS来完成。无论是选择哪种,都能对外提供可视化的流程编排、任务调度、任务管理能力。在数据生命周期管理上,dataworks的数据地图能力相对更加成熟。

在数据管理和数据安全上,DMS提供了强大的能力。DMS的数据管理粒度分为“库-表-列-行”,完善的支持企业级的数据安全管控需求。除了权限管理之外,DMS更精细的地方是把原来基于数据库的devops理念扩展到了数据湖,使得数据湖的运维、开发更加精细化。

进一步细化整个数据湖方案的数据应用架构,如下图所示。

自左向右从数据的流向来看,数据生产者产生各类数据(云下/云上/其他云),利用各类工具,上传至各类通用/标准数据源,包括OSS/HDFS/DB等。针对各类数据源,DLA通过数据发现、数据接入、数据迁移等能力,完整建湖操作。对于“入湖”的数据,DLA提供基于SQL和Spark的数据处理能力,并可以基于Dataworks/DMS,对外提供可视化的数据集成和数据开发能力;在对外应用服务能力上,DLA提供标准化的JDBC接口,可以直接对接各类报表工具、大屏展示功能等。阿里云的DLA的特色在于背靠整个阿里云数据库生态,包括OLTP、OLAP、NoSQL等各类数据库,对外提供基于SQL的数据处理能力,对于传统企业基于数据库的开发技术栈而言,转型成本相对较低,学习曲线比较平缓。

阿里云的DLA解决方案的另一个特色在于“基于云原生的湖仓一体化”。传统的企业级数据仓库在大数据时代的今天,在各类报表应用上依然是无法替代的;但是数仓无法满足大数据时代的数据分析处理的灵活性需求;因此,我们推荐数据仓库应该作为数据湖的上层应用存在:即数据湖是原始业务数据在一个企业/组织中唯一官方数据存储地;数据湖根据各类业务应用需求,将原始数据进行加工处理,形成可再次利用的中间结果;当中间结果的数据模式(Schema)相对固定后,DLA可以将中间结果推送至数据仓库,供企业/组织开展基于数仓的业务应用。阿里云在提供DLA的同时,还提供了云原生数仓(原ADB),DLA和云原生数仓在以下两点上深度融合。

1)使用同源的SQL解析引擎。DLA的SQL与ADB的SQL语法上完全兼容,这意味着开发者使用一套技术栈即能同时开发数据湖应用和数仓应用。

2)都内置了对于OSS的访问支持。OSS直接作为DLA的原生存储存在;对于ADB而言,可以通过外部表的能力,很方便的访问OSS上的结构化数据。借助外部表,数据可以自由的在DLA和ADB之间流转,做到真正的湖仓一体。

DLA+ADB的组合真正做到了云原生的湖仓一体(关于什么是云原生,不在本文的讨论范畴)。本质上,DLA可以看成一个能力扩展的数据仓库贴源层。与传统数仓相比,该贴源层:

(1)可以保存各类结构化、半结构化和非结构化数据;

(2)可以对接各类异构数据源;

(3)具备元数据发现、管理、同步等能力;

(4)内置的SQL/Spark计算引擎具备更强的数据处理能力,满足多样化的数据处理需求;

(5)具备全量数据的全生命周期管理能力。基于DLA+ADB的湖仓一体化方案,将同时覆盖“大数据平台+数据仓库”的处理能力。

DLA还有一个重要能力是构建了一个“四通八达”的数据流动体系,并以数据库的体验对外提供能力,无论数据在云上还是云下,无论数据在组织内部还是外部;借助数据湖,各个系统之间的数据不再存在壁垒,可以自由的流进流出;更重要的是,这种流动是受监管的,数据湖完整的记录了数据的流动情况。

Azure的数据湖解决方案包括数据湖存储、接口层、资源调度与计算引擎层,如下图所示(来自Azure官网)。

存储层是基于AzureobjectStorage构建的,依然是对结构化、半结构化和非结构化数据提供支撑。

接口层为WebHDFS,比较特别的是在AzureobjectStorage实现了HDFS的接口,Azure把这个能力称为“数据湖存储上的多协议存取”。

在资源调度上,Azure基于YARN实现。

计算引擎上,Azure提供了U-SQL、hadoop和Spark等多种处理引擎。

Azure的特别之处是基于visualstudio提供给了客户开发的支持。

开发工具的支持与visualstudio的深度集成;Azure推荐使用U-SQL作为数据湖分析应用的开发语言。Visualstudio为U-SQL提供了完备的开发环境;同时,为了降低分布式数据湖系统开发的复杂性,visualstudio基于项目进行封装,在进行U-SQL开发时,可以创建“U-SQLdatabaseproject”,在此类项目中,利用visualstudio,可以很方便的进行编码与调试,同时,也提供向导,将开发好的U-SQL脚本发布到生成环境。U-SQL支持Python、R进行扩展,满足定制开发需求。

多计算引擎的适配:SQL,ApacheHadoop和ApacheSpark。这里的hadoop包括Azure提供的HDInsight(Azure托管的Hadoop服务),Spark包括AzureDatabricks。-多种不同引擎任务之间的自动转换能力。微软推荐U-SQL为数据湖的缺省开发工具,并提供各类转换工具,支持U-SQL脚本与Hive、Spark(HDSight&databricks)、AzureDataFactorydataFlow之间的转化。

本文所讨论的是数据湖的解决方案,不会涉及到任何云厂商的单个产品。我们从数据接入、数据存储、数据计算、数据管理、应用生态几个方面,简单做了一个类似下表的总结。

出于篇幅关系,其实知名云厂商的数据湖解决方案还有谷歌和腾讯的。这两家从其官方网站上看,数据湖解决方案相对来讲比较简单,也仅仅是一些概念上的阐述,推荐的落地方案是“oss+hadoop(EMR)”。其实数据湖不应该从一个简单的技术平台视角来看,实现数据湖的方式也多种多样,评价一个数据湖解决方案是否成熟,关键应该看其提供的数据管理能力,具体包括但不限于元数据、数据资产目录、数据源、数据处理任务、数据生命周期、数据治理、权限管理等;以及与外围生态的对接打通能力。

4.9典型的数据湖应用案例

图17数据湖部署示意图

2)要有足够的性价比。对于用户行为数据,往往需要拉到一个很长的周期去分析去对比,比如留存率,不少情况下需要考虑90天甚至180天客户的留存率;因此,如何以最具性价比的方式长期存储海量数据是需要重点考虑的问题。

3)要有够用的分析能力,且具备可扩展性。许多情况下,用户行为体现在埋点数据中,埋点数据又需要与用户注册信息、登陆信息、账单等结构化数据关联分析;因此,在数据分析上,至少需要有大数据的ETL能力、异构数据源的接入能力和复杂分析的建模能力。

图18.改造前的方案

事实上,我们分析客户现存架构其实已经具备了数据湖的雏形:全量数据已经在OSS中保存下来了,现在需要进一步补齐客户对于OSS中的数据的分析能力。而且数据湖基于SQL的数据处理模式也满足客户对于开发技术栈的需求。综上,我们对客户的架构做了如下调整,帮助客户构建了数据湖。

图19.改造后的数据湖解决方案

总体上,我们没有改变客户的数据链路流转,只是在OSS的基础上,增加了DLA组件,对OSS的数据进行二次加工处理。DLA提供了标准SQL计算引擎,同时支持接入各类异构数据源。基于DLA对OSS的数据进行处理后,生成业务直接可用的数据。但是DLA的问题在于无法支撑低延迟需求的交互式分析场景,为了解决这个问题,我们引入了云原生数据仓库ADB来解决交互式分析的延迟性问题;同时,在最前端引入QuickBI作为客户的可视化分析工具。YJ方案是图14所示的湖仓一体化解决方案在游戏行业的一个经典落地案例。

YM是一家数据智能服务提供商,面向各类中小商家提供一系列数据分析运营服务。具体实现的技术逻辑如下图所示。

图20.YM智能数据服务SaaS模式示意

2)对于一些高级分析功能,如依赖于自定义标签的客户圈选、客户自定义扩展等功能,统一的数据分析服务无法满足的;特别是一些自定义的标签依赖于商家自定义的算法,无法满足客户的高级分析需求。

3)数据的资产化管理需求。在大数据时代,数据是一个企业/组织的资产已经成为了大家的共识,如何能让属于商家的数据合理、长期的沉淀下来,也是SaaS服务需要考虑的事情。

综上,我们在上图的基本模式上引入了数据湖模式,让数据湖作为商家沉淀数据、产出模型、分析运营的基础支撑设施。引入数据湖后的SaaS数据智能服务模式如下。

图21.基于数据湖的数据智能服务

如图21所示,平台方为每个用户提供一键建湖服务,商家使用该功能构建自己的数据湖,“一键建湖”能力一方面帮助商家将所有埋点数据的数据模型(schema)同步至数据湖中;另一方面,将属于该商家的所有埋点数据全量同步至数据湖中,并基于“T+1”的模式,将每天的增量数据归档入湖。基于数据湖的服务模式在传统的数据分析服务的基础上,赋予了用户数据资产化、分析模型化和服务定制化三大能力:

2)分析模型化能力。数据湖中不仅仅有原始数据,还有埋点数据的模型(schema)。埋点数据模型体现了全域数据智能服务平台对于业务逻辑的抽象,通过数据湖,除了将原始数据作为资产输出外,还将数据模型进行了输出,借助埋点数据模型,商家可以更深入的理解埋点数据背后所体现的用户行为逻辑,帮助商家更好的洞察客户行为,获取用户需求。

3)服务定制化能力。借助数据湖提供的数据集成和数据开发能力,基于对埋点数据模型的理解,商家可以定制数据处理过程,不断对原始数据进行迭代加工,从数据中提炼有价值的信息,最终获得超越原有数据分析服务的价值。

数据湖作为新一代大数据分析处理的基础设施,需要超越传统的大数据平台。个人认为目前在以下方面,是数据湖解决方案未来可能的发展方向。

关于什么是云原生架构,众说纷纭,很难找到统一的定义。但是具体到数据湖这个场景,个人认为就是以下三点特征:存储和计算分离,计算能力和存储能力均可独立扩展;多模态计算引擎支持,SQL、批处理、流式计算、机器学习等;提供serverless态服务,确保足够的弹性以及支持按需付费。足够用的数据管理能力数据湖需要提供更为强大的数据管理能力,包括但不限于数据源管理、数据类目管理、处理流程编排、任务调度、数据溯源、数据治理、质量管理、权限管理等。

数据湖要想快速发展,如何为用户提供良好的使用体验是关键。基于SQL的数据库应用开发已经深入人心,如何将数据湖的能力通过SQL的形式释放出来,是未来的一个主要方向。

对各种异构数据源的管理与支持,对异构数据的全量/增量迁移支持,对各种数据格式的支持都是需要不断完善的方向。同时,需要具备一个完备的、可视化的、可扩展的集成开发环境。

典型数据湖架构的构成基本已经成为了业界共识:分布式对象存储+多模态计算引擎+数据管理。

决定数据湖方案是否胜出的关键恰恰在于数据管理,无论是原始数据的管理、数据类目的管理、数据模型的管理、数据权限的管理还是处理任务的管理,都离不开与业务的适配和集成;未来,会有越来越多的行业数据湖解决方案涌现出来,与数据科学家和数据分析师形成良性发展与互动。如何在数据湖解决方案中预置行业数据模型、ETL流程、分析模型和定制算法,可能是未来数据湖领域差异化竞争的一个关键点。

企业在过去信息化的历程中形成了大量生产经营及专业业务应用成果,同时也累积了大量的企业数据资产。限于传统的数据仓库技术手段,数据管理和分析能力成为信息化工作中的短板。

企业信息系统众多,系统管理独立,数据存储分散,横向的数据共享和分析应用仅由具体业务驱动,难以对全局数据开展价值挖掘,从规模上和效果上都无法真正体现集团庞大数据资产的价值。

传统的数据仓库不能满足数据分析需求企业在数据分析应用方面呈现“五大转变”(从统计分析向预测分析转变、从单领域分析向跨领域转变、从被动分析向主动分析转变、从非实时向实时分析转变、从结构化数据向多元化转变),并且对统一的数据中台平台诉求强烈,对数据中台的运算能力、核心算法、及数据全面性提出了更高的要求。

数据中台的处理架构发生了变化

传统的数据仓库集成处理架构是ETL结构,这是构建数据仓库的重要一环,即用户从数据源抽取出所需的数据,经过数据清洗,将数据加载到数据仓库中去。

而大数据背景下的架构体系是ELT结构,其根据上层的应用需求,随时从数据中台中抽取想要的原始数据进行建模分析。

一是以Hadoop、Spark等分布式技术和组件为核心的“计算&存储混搭”的数据处理架构,能够支持批量和实时的数据加载以及灵活的业务需求。

二是数据的预处理流程正在从传统的ETL结构向ELT转变:

我们从阿里共享业务事业部的发展史说起。起初,阿里只有一个淘宝事业部,后来成立了天猫事业部,此时淘宝的技术团队同时支撑着这两个事业部。当时的淘宝和天猫的电商系统像我们很多大型企业的一样是分为两套独立的烟囱式体系,两套体系中都包含的有商品、交易、支付、评价、物流等功能。因为上述原因,阿里集团又成立了共享业务事业部,其成员主要来自之前的淘宝技术团队,同时将两套电商业务做了梳理和沉淀

中台其实就是一个共享服务的体系结构。

我们需要在日常的开发过程中将通用的服务抽离出来做到共享服务的体系结构当中。大中台,小前台的体系结构可以使得管理更加高效,小团队更加扁平化。

由于资源的共享可以让开发更加敏捷,更能够知道需要做什么,该怎么做?

首先、把当前系统中各个业务的前端应用与后端服务解耦。将各个功能中的服务能力进行梳理、并沉淀。例如我们从外呼业务中梳理出工单管理和问卷管理的能力;从知识库中梳理出知识搜索的能力;从85电商平台中梳理出商品销售和库存管理的能力等等。

其次、将重复、类似的服务进行整合。同时在单个服务的完善和增强的过程中注意服务的通用性,避免其他相似“双胞胎”服务的出现。

最后,由于服务能力的集中管控,很大程度会促进我们一体化运维的能力,但在“大中台、小前台”的模式下,每一个服务都负责对N多个前端业务应用提供支持,这就要求运维在信息安全、备份、监控等方面要有更强的能力。

甄别是不是中台,还要回到中台要解决的问题上,一切以“以用户为中心的持续规模化创新”为目的,将后台各式各样的资源转化为前台易于使用的能力,帮助我们打赢这场以用户为中心的战争的平台,我们都可以称之为中台:

业务中台提供重用服务例如用户中心,订单中心之类的开箱即用可重用能力,为战场提供了强大的后台炮火支援能力,随叫随到,威力强大;

数据中台提供了数据分析能力帮助我们从数据中学习改进,调整方向,为战场提供了强大及时的雷达监测能力,帮助我们掌控战场;

移动及算法中台提供了战场一线火力支援能力帮助我们提供更加个性化的服务,增强用户体验,为战场提供了陆军支援能力,随机应变,所向披靡;

技术中台提供了自建系统部分的技术支撑能力帮助我们解决了基础设施,分布式数据库等底层技术问题,为前台特种兵提供了精良的武器装备;

研发中台提供了自建系统部分的管理和技术实践支撑能力帮助我们快速搭建项目,管理进度,测试,持续集成,持续交付,是前台特种兵的训练基地及快速送达战场的机动运输部队;

组织中台为我们的项目提供投资管理、风险管理、资源调度等,是战场的指挥部,战争的大脑,指挥前线,调度后方。

所以,评判一个平台是否称得上中台,最终评判标准不是技术也不是长什么模样,最终还是得前台说了算,毕竟前台才是战争的关键,才是感受得到战场的残酷、看得见用户的那部分人。

传统数仓有几个特点:

在数仓的数据是其他原始数据的拷贝或者拷贝的加工传统数仓需要拷贝数据的重要原因是数据计算和数据存储需要尽可能的近。所以我们需要把MySQL等数据源的数据同步到数仓,才能进行进一步处理。(这里有点疑问,我觉得是因为需要直接对数仓数据进行离线操作,而不是对业务数据库进行繁重的操作,也就是说数据分析不能影响业务)

数据中台概念,不同于数据平台。数据中台,业务侧包含

整体是一个闭环的解决方案其中,闭环是最重要的一点。

数据地图

数据中台的元数据其中承载的一个重要功能是数据地图,虽然在数据中台中,修建了通往所有数据的道路,但是当用户进来的时候无法知道具体某个数据的地址,也就没办法利用这些修好的道路。数据地图就是解决这个问题我们需要结合自然语言处理,检索技术,目录分类技术,机器学习以及数据规范化来帮助找到数据地址。数据地址从来都不是面向人类友好的。通过数据中台的数据地图,以及数据中台到各数据源的建立好的管道,那么我们就可以很好的找到我们要的数据以及对他们进行关联和处理,分析,甚至进一步成为机器学习的素材。

数据中台成为热点,“中台”这个概念,是相对于前台和后台而生,是前台和后台的链接点,将业务共同的工具和技术予以沉淀。数据中台是指数据采集交换、共享融合、组织处理、建模分析、管理治理和服务应用于一体的综合性数据能力平台,在大数据生态中处于承上启下的功能,提供面向数据应用支撑的底座能力。

广义上来给数据中台一个企业级的定义:“聚合和治理跨域数据,将数据抽象封装成服务,提供给前台以业务价值的逻辑概念”。

中台战略核心是数据服务的共享。中台战略并不是搭建一个数据平台,但是中台的大部分服务都是围绕数据而生,数据中台是围绕向上层应用提供数据服务构建的,中台战略让数据在数据平台和业务系统之间形成了一个良性的闭环,也就是实现应用与数据之间解藕,并实现紧密交互。

5.4公司平台分层与大中台小前台战略

5.4.1互联网巨头“大中台,小前台”战略

阿里巴巴在2015年12月进行组织升级,就是“大中台,小前台”的模式。主要的思路是打破原来树状结构,小前台距离一线更近,业务全能,这样便于快速决策、敏捷行动;支持类的业务放在中台,扮演平台支撑的角色。

这家看似很小的公司,设置了一个强大的技术平台,来支持众多的小团队进行游戏研发。这样一来,他们就可以专心创新,不用担心基础却又至关重要的技术支撑问题。恰恰是这家小公司,开创了中台的“玩法”,并将其运用到了极致。对于这种多项目并行,各项目相对独立,但业务需求所需要的支持类似的公司,“中台”就有存在的价值。

这种类似的思维应用到大企业中,就是需要一个资源整合和能力沉淀的平台,对不同的部门进行总协调和支持,“中台”也就应运而生。

中台战略是构建符合DT时代的更具备创新性和灵活性的组织机制和业务机制,实现管理模式的创新。将公共的业务、数据、技术等公共能力从前台下沉,成为独立的中台,并且通过组织结构的调整物理拆分为独立的中台部门。

大中台,小前台”适用场景

不适合初创公司!初创公司的初创阶段没有任何的公共资源的积累,没有下沉为中台的内容。初创公司的首要任务是积累所有资源活下来,快速迭代主要业务,保存自己和核心竞争力。

适合高速发展公司或者快速成长公司。有一定的公共资源的积累,公共部分下沉为中台,保其高可用高性能,为前端业务百花齐放,快速迭代提供坚实的后盾。

5.4.2.1概述

阿里组织架构,业务中台、数据中台、技术中台公共组成中台。:

“中台”的设置就是为了提炼各个业务条线的共性需求,并将这些打造成组件化的资源包,然后以接口的形式提供给前台各业务部门使用,可以使产品在更新迭代、创新拓展的过程中研发更灵活、业务更敏捷,最大限度地减少“重复造轮子”的KPI项目。

“前台”要做什么业务,需要什么资源可以直接同公共服务部要。搜索、共享组件、数据技术等模块不需要每次去改动底层进行研发,而是在底层不变动的情况下,在更丰富灵活的“大中台”基础上获取支持,让“小前台”更加灵活敏捷。

由后台系统组成的后端平台。每个后台系统一般管理了企业的一类核心资源(数据+计算),例如财务系统,产品系统,客户管理系统,仓库物流管理系统等,这类系统构成了企业的后台。基础设施和计算平台作为企业的核心计算资源,也属于后台的一部分。后台并不为前台而生

另外,由于后台往往并不能很好的支撑前台快速创新响应用户的需求,后台更多解决的是企业管理效率问题,而中台要解决的才是前台的创新问题。

一线作战单元,强调敏捷交互及稳定交付的组织能力建设。

对于阿里来说,小前台就是各个业务部门,个性化的各种前台服务,例如阿里的天猫、淘宝、河马、支付宝等一系列的品牌。

能力固化与赋能,固化通用能力,赋能前线部队,提升配置效率,加快前线响应,产品化业务化,开辟全新生态。

具体来说,业务中台对应公司的公共基础业务和通用服务,例如短信中心、用户中心、支付中心交易中心、搜索服务等。下图中的公共逻辑层,就是业务中台。

以共享中心建设为核心,为前中台提供专业的内部服务支撑。

数据中台是指通过企业内外部多源异构的数据采集、治理、建模、分析,应用,使数据对内优化管理提高业务,对外可以数据合作价值释放,成为企业数据资产管理中枢。数据中台建立后,会形成数据API,为企业和客户提供高效各种数据服务。

数据中台整体技术架构上采用云计算架构模式,将数据资源、计算资源、存储资源充分云化,并通过多租户技术进行资源打包整合,并进行开放,为用户提供“一站式”数据服务。

利用大数据技术,对海量数据进行统一采集、计算、存储,并使用统一的数据规范进行管理,将企业内部所有数据统一处理形成标准化数据,挖掘出对企业最有价值的数据,构建企业数据资产库,提供一致的、高可用大数据服务。

数据中台不是一套软件,也不是一个信息系统,而是一系列数据组件的集合,企业基于自身的信息化建设基础、数据基础以及业务特点对数据中台的能力进行定义,基于能力定义利用数据组件搭建自己的数据中台。

数据中台对一个企业的数字化转型和可持续发展起着至关重要的作用。数据中台为解耦而生,企业建设数据中台的最大意义就是应用与数据解藕。这样企业就可以不受限制地按需构建满足业务需求的数据应用。

构建了开放、灵活、可扩展的企业级统一数据管理和分析平台,将企业内、外部数据随需关联,打破了数据的系统界限。

作为工业企业,一般采用混搭架构:

数据集市和数据仓库经常会被混淆,但两者的用途明显不同。

数据集市也比数据仓库小得多–它们可以容纳数十千兆字节,相比之下,数据仓库可以存储数百千兆字节到PB级数据,并可用于数据处理。

操作数据存储(ODS)是一种数据库,用作所有原始数据的临时存储区域,这些数据即将进入数据仓库进行数据处理。我们可以将其想象成仓库装卸码头,货物在此处交付、检查和验证。在ODS中,数据在进入仓库前可以被清理、检查(因为冗余目的),也可检查是否符合业务规则。

在ODS中,我们可以对数据进行查询,但是数据是临时的,因此它仅提供简单信息查询,例如正在进行的客户订单状态。

ODS通常运行在关系数据库管理系统(RDBMS)或Hadoop平台。

数据仓库、数据湖与关系数据库系统之间的主要区别在于:

数据湖的不同之处在于它可存储非结构化、半结构化和结构化数据。

关系数据库创建起来相对简单,可用于存储和整理实时数据,例如交易数据等。关系数据库的缺点是它们不支持非结构化数据库数据或现在不断生成的大量数据。这使得我们只能在数据仓库与数据湖间做出选择。尽管如此,很多企业仍然继续依赖关系数据库来完成运营数据分析或趋势分析等任务。

内部或云端可用的关系数据库包括MicrosoftSQLServer、Oracle数据库、MySQL和IBMDb2、以及AmazonRelationalDatabaseService、GoogleCloudSpanner等。

THE END
1.数据挖掘的分析方法可以划分为关联分析序列模式分析分类分析和数据挖掘是从大量数据中提取有用信息的方法,主要分为四种分析方式:关联分析、序列模式分析、分类分析和聚类分析。在本指南中,我们将详细介绍这四种方法的实现过程,并提供相应的代码示例。 数据挖掘流程 首先,我们需要明确数据挖掘的基本流程,如下表所示: 流程图 https://blog.51cto.com/u_16213297/12863680
2.机器学习找不到创新点?三种特征选择的方法包你拿下顶会!文章介绍了一种新的特征选择框架shap-select,该框架通过在验证集上对目标变量与原始特征的SHAP值进行线性或逻辑回归,并根据回归系数的符号和显著性水平来实现高效的特征选择。在Kaggle信用卡欺诈数据集上的评估表明,shap-select在解释性、计算效率和性能方面均表现出色。 https://www.bilibili.com/read/cv40067807
3.数据挖掘的五大流程数据挖掘的五大流程 2.数据预处理 数据预处理是从数据中检测,纠正或删除损坏,不准确或不适用于模型的记录的过程 可能面对的问题有:数据类型不同,比如有的是文字,有的是数字,有的含时间序列,有的连续,有的间断。也可能,数据的质量不行,有噪声,有异常,有缺失,数据出错,量纲不一,有重复,数据是偏态,数据量太大https://blog.csdn.net/qq_46078451/article/details/119472972
4.sklearn中的数据预处理常给自己加个油一、数据挖掘的五大流程: 1、获取数据 2、数据预处理 3、特征工程 4、建模,测试模型并预测结果 5、 上线,验证模型效果 二、数据预处理 Ⅰ、 数据无量纲化 定义: 在机器学习算法实践中,我们往往有着将不同规格的数据转换到同一规格,或不同分布的数据转换到某个特定分布 https://www.cnblogs.com/zywnnblog/p/15784067.html
5.数据挖掘技术方法(精选十篇)微博诞生也不过数年光景,就以之为例。微博是大家熟知的社交网站,通过社交网站的数据挖掘的管理流程,就可窥一斑而见全豹,对整个网络数据挖掘的方法与技术就都可以融会贯通了。我们可以举个例子,譬如应用面向对象的系统分析方法与设计等等。 2 网络数据挖掘方法https://www.360wenmi.com/f/cnkeyg31vygx.html
6.大数据一文总览数据科学全景:定律算法问题类型;什么是知识摄取的系统化流程:挖掘数据需要一套有条理的流程,这其中包括明确的步骤,以及每一步清晰可实现的目标。就好比跨行业数据挖掘标准流程(CRISP-DM)(https://en.wikipedia.org/ wiki/ Cross_Industry_Standard_Process_for_Data_Mining)。 与数据共眠:相关机构应当投资热衷于数据的专业人士。将数据转化为资源的不是https://zhuanzhi.ai/document/ba50f489f166e5f700f1800aab8dea65
7.信息系统项目管理师重点内容汇总(第八天)使用结构化分析 (Structured Analysis,SA) 方法进行需求分析,其建立的模型的核心是数据字典。围绕这个核心,有三个层次的模型,分别是数据模型、功能模型和行为模型(也称头状态模型)。在实际工作中,一般使用实体关系图 (E-R 图)表示数据模型,用数据流图 (DatFlow Diagram,DFD) 表示功能模型,用状态转换图 (State Trahttps://developer.aliyun.com/article/1416724
8.金融界带你一文读懂汽车金融科技平台灿谷集团同时在招股书中我们还看到,随着灿谷多年在汽车交易数据方面的积累,灿谷正计划拓宽服务范围并积累数据见解,并探索与腾讯,泰康人寿和滴滴出行等战略投资者合作的机会,以加强起全流程技术驱动的汽车交易服务。 可以说拥有这样的豪华股东群,灿谷是站在的巨人的肩上,这是其实力的象征,从领军人物、核心团队、业务流程、风险http://wwwcdn.cangoonline.com/news/detail/92
9.大数据应用导论Chapter1大数据技术与应用概述下面是一些机构的定义: 维基百科: 传统数据处理应用软件不足以处理的大型而复杂的数据集; 包含的数据大小超过了传统软件在可接受时间内处理的能力。 互联网数据中心(IDC): 为了能够更经济地从高频率、大容量、不同结构和类型的数据中获取价值而设计的新一代架构和技术。 2、大数据的五大特征 1、数据量巨大(海量)https://cloud.tencent.com/developer/article/1733234
10.系统项目管理师(第4版)思维导图模板系统分析阶段的任务是根据系统设计任务书所确定的范围,对现行系统进行详细调查,描述现行系统的业务流程,指出现行系统的局限性和不足之处,确定新系统的基本目标和逻辑功能要求,即提出新系统的逻辑模型。系统分析阶段的工作成果体现在系统说明书中。 系统设计阶段 https://www.processon.com/view/654c455f8f11b40fe56ece43
11.2022年深圳大学中外合作办学项目金融科技与风险控制硕士招收持有【报名流程】 1、将境外大学录取通知书、本科大学成绩单、毕业证、学位证、英语能力证明材料(雅思或者托福或者托业或者多邻国)扫描发至lvbing@szu.edu.cn或luolz@szu.edu.cn任一邮箱进行初审。 2、招生办老师会通过邮件回复初审结果,确定复试资格。 获得初审通过邮件后,提交以下材料,相关表格和材料规格以初审通过通http://swift.szu.edu.cn/info/1002/1651.htm
12.商业数据范文12篇(全文)国内已经有大数据公司开发了这些架构在云端的大数据分析软件:它集统计分析、数据挖掘和商务智能于一体,用户只需要将数据导入该平台,就可以利用该平台提供的丰富算法和模型,进行数据处理、基础统计、高级统计、数据挖掘、数据制图和结果输出等。数据由系统统一进行管理,能够区分私有和公有数据,可以保证私有数据只供持有者https://www.99xueshu.com/w/ikeyf40bxoox.html