layout: post title: “Oracle培训总结” date: 2019-05-14 author: “马赛琦” tags: - 培训 - 数据仓库
ADW介绍
ADW是Autonomous Data Warehouse的缩写,译为自治数据仓库。对于ADW的理解,主要分为“自治”和“数据仓库”两个概念。
数据仓库
数据仓库(简称为数仓)是一个很耳熟能详的概念了,我摘录了一些百度相关词条:
-
数据仓库,英文名称Data Warehouse,简写为DW。数据仓库顾名思义,是一个很大的数据存储集合,出于企业的分析性报告和决策支持目的而创建,对多样的业务数据进行筛选与整合。它为企业提供一定的BI(商业智能)能力,指导业务流程改进、监视时间、成本、质量以及控制。
-
数据仓库的输入方是各种各样的数据源,最终的输出用于企业的数据分析、数据挖掘、数据报表等方向。
-
ETL:英文全称是 Extract-Transform-Load 的缩写,用来描述将数据从来源迁移到目标的几个过程,包括:
-
Extract**,**数据抽取,也就是把数据从数据源读出来。
-
Transform**,**数据转换,把原始数据转换成期望的格式和维度。如果用在数据仓库的场景下,Transform也包含数据清洗,清洗掉噪音数据。
-
Load**,**数据加载,把处理后的数据加载到目标处,比如数据仓库。
自治
Oracle在数据仓库前面加了自治用以区分于传统数仓,因此自治我认为就是Oracle数仓的“卖点”或者说是特色,这是其有别与其他传统数仓的地方。那么,具体ADW有哪些特别的地方:
-
ADW不仅仅是一个单一的服务,基于Oracle Cloud的相关技术基础支持,ADW可以实现完善的ETL流程,达到数据仓库输入输出一条龙服务。得益于Oracle云计算服务,ADW的可用性,安全性都得到了一定的保障,也缩小了一定的运营成本,节省了劳动力。除此以外,ADW的数据导入方便,有一定扩展性,很适应于当下流行的敏捷开发。
-
ADW广泛适用SasS、PaaS和IaaS。
-
ADW可以通过Oracle Cloud中的OAC进行分析,也可以通过其他第三方工具进行分析,不强依赖于OAC。
-
数据导入多样性,支持各种数据迁移方式:
OAC介绍
OAC是Oracle AnalyticsCloud的缩写,译为Oracle分析云。OAC的主要功能是将海量数据以不同的维度绘制成数据图表,方便开发人员分析数据,做出符合于业务需求的分析结果。
根据Oracle杭州培训讲师张华先生原话,OAC是一个轻建模,重业务的工具,本质上OAC还是以业务为导向进行设计的(OAC数据导入后会自动以列名进行关联建模)。
OAC的数据源具有多样性,可以从Oracle Cloud的ADW导入,也可以从本地或其他的第三方数据源进行导入,不强依赖于ADW。
使用流程
本节将展示ADW和OAC粗略的使用步骤,详细使用步骤参考文末提供的网站。
总述
创建ADWC(Autonomous Data Warehouse Cloud)实例,通过各种方式导入数据进入ADWC。
创建OAC实例。在OAC实例中创建连接,创建数据集(可以从ADW进行导入),创建项目进行分析。
ADW使用
创建ADWC实例
登录Oracle控制台,选择Autonomous Data Warehouse,点击Create Autonomous Date Warehouse,按照流程创建ADWC实例。
连接ADWC实例
-
这里通过sql developer连接ADWC。
-
接着1.2.1中创建的ADWC实例,选择Service console,在页面上点击Administration,点击Download Client Credentials下载wallet文件(无需解压)
-
打开sql developer,连接创建的ADWC(需选择wallet文件进行安全验证)
-
选择数据模式,共有三种,具体区别如图:
加载数据
新建表(可以通过语句的方式),点击导入数据,这里有两种方式:
-
从本地文件导入数据
-
从Oracle对象存储导入数据
-
上传文件至Oracle对象存储中
-
使用PL/SQL包DBMS_CLOUD加载数据
- 排除数据故障,格式错误,进行数据加载
外部数据查询导入
-
不导入数据,直接查询外部数据(从Oracle对象存储中)
-
从Oracle对象存储中导入数据。(与1.2.3中不同的是,这里选择新建表,直接从Oracle对象存储中新建表并导入数据,无需提前准备表结构)
OAC使用
创建OAC实例
-
点击网页上“我的仪表盘”
-
选择“分析”,按流程创建一个OAC实例
-
导入连接和数据集
这里以从ADW导入为例,导入其他连接和数据在网页上选择ADW的地方可以选择。
-
创建连接。点击创建,点击连接,选择ADW,输入相关信息
-
创建数据集。点击创建,点击数据集,选择上一步创建的连接
-
修改导入数据的类型(属性/度量)方便后续不同维度展示数据
-
点击项目按钮,点击创建项目,选择第3步创建的数据集
-
导入多个数据集时,OAC会自动按照列名进行建模(需注意,事实表需要最先导入),按照需求自行修改建模
-
按照需求选择合适的图例与维度生成数据报表,进行数据分析。
-
OAC允许导出到本地.dvd文件通过DVD桌面版进行本地编辑。一般来讲,本地的编辑和速度拉取会很慢,在我的感受中推荐使用线上OAC进行编辑。
数据分析思路与方式
通过1.2和1.3,我们已经通过ADW+OAC的方式创建了我们的数仓,这就好了数据分析的前期准备,接下来讨论下分析数据的方式与思路。
思路
-
正如前文所说,OAC的设计是重业务的,首先应该考虑我们的业务需求,我们应该要分析什么,找一个切入点,提出一些问题与假设。
-
在第1步的基础上,我们已经拥有一些假设。我们通过OAC选择合适的图例与度量角度,绘制数据图表来先筛掉一些不正确的假设。
-
在第2步的基础上,我们已经拥有一些正确或可能正确的假设,我们需要进一步的细分与考量,绘制出更多度量方式的数据图表进行确定与分析。
-
完成了前3步后,我们会拥有大量的数据图表,这就是我们的分析过程,最终会有分析结论,我们将这些过程与结论整理归纳,最终这就完成了数据分析。
小例子
这里我们以Oracle培训中的一个小实验场景进行说明:一家饭店随着月份销售额开始逐步下降,于是开始分析原因:
-
猜想可能和商圈,店面,天气有关系。因此,我们首先以商圈,门店,销售额,月份为维度生成数据图表。
-
在生成的数据图表中,我们不能直观感受到销售额下降与商圈店面有关系,因此排除进和商圈,店面有关系的可能。
-
验证我们的第二个猜想,会不会和天气有关?因此我们以PM2.5,销售额,月份为维度生成数据图表,从图表中我们可以直观感受到随着每月PM2.5的增加,销售额也逐步下降。
-
初步证实了我们的猜想,进一步细分我们的猜想:
-
销售额的来源分为外卖和堂食
-
外卖和堂食每份价格不一样,一般堂食会比外卖贵一些,所以认为用销售量更加清楚
-
在第4步的基础上,我们将我们的细分的猜想绘制成数据图表。
-
读表,我们发现随着PM2.5的增加,外卖的销售量显著增加,但堂食的销量显著降低;尽管外卖销量增加,但外卖增加的销售额不能后弥补堂食降低的销量对应的销售额。
-
最终确认了我们的猜想,天气影响了销售额,具体表现在PM2.5的增加导致了堂食的销量减少,对于外卖而言,销量增加
心得与总结
这是我第一次接触大数据相关的东西,也是第一次实际感受数仓的实际使用,对我而言是新鲜又有趣。我觉得有两点最让我感到惊艳。
第一点是数仓的建立。在这次培训之前,公司内部的技术交流会也曾讨论过数仓,当时第一感觉就是数仓的建立原来是那么繁琐漫长的事情。通过这次ADW的使用培训,我看到ADW的数据导入显得更为优雅,支持各种各样的数据格式,支持各种各样的数据源渠道,支持各种各样的数据导入方式,着实为数仓的建立剩下不少时间。
第二点是OAC的使用。将数据用数据图表的方式去呈现,确实比看枯燥的数据,关心复杂的结构关系来的更加有趣直观。不过,在实际的感受中,我发现在这个流程中,数仓建立与图表绘制本身不是一件很难的事,用数据分析创造出有价值的分析结果,能够服务于业务需求这是一件需要用心设计的事。