ETL开发流程小记(1)[通俗易懂]

ETL开发流程小记(1)[通俗易懂][原创]ETL开发流程随笔ETL开发ETL工作目标ETL工作目的主要有:ETL工作流程准备工作ETL设计ETL开发ETL测试功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章U…

大家好,又见面了,我是你们的朋友全栈君。

ETL开发

数据仓库ODS到DWD的ETL工作流程记录

ETL工作目标

目前我们做销售主题域下的ODS-DWD层的ETL工作,我准备把 工作中遇到的问题和想法记录下来,好的开始我们的主题

ETL工作目的主要有:

		1.源系统ERP各城市库的整合
		2.每个城市不同规则的统一、数据转换
		3.数据缺失值的处理(填充的规则怎么定)
		4.异常值的处理
		5.内容中不该出现或者存在的字符处理(寻找我们应用的数据的前端校验设计是否良好)
		6.去重处理
		还有个问题是 例如 房源表在其他系统中是否存在我们想要的数据

ETL工作流程

准备工作

逻辑设计

ETL脚本开发

脚本自测

  • 准备工作-ETL设计-脚本开发-脚本自测

准备工作

1.各城市库整合,按城市分区过程中收集各城市系统存在的数据格式不统一的问题	ETL设计-数据格式需求.doc2.准备好 数据仓库dwd层建表DDL	-->	销售主题域DW层定版-20191119.xlsx	其中包含维度表、事实表的数据字典、修改日志、字段的ddl 构成语句	数据仓库数据字典0802.xlsx	为源系统的数据字典3.审核确定事实维度表的加载策略,变更内容、变更记录4.清洗规则说明.doc5.脚本规范说明6.脚本模版说明

ETL开发上线包

主要任务介绍上线包文件组成

ETL开发模版统一和规范

  • 统一出事和周期开发脚本模版
  • 统一数据处理变更脚本模版
  • 统一应用开发脚本模版
  • 统一Sql 文件脚本模版
  • 统一ETL逻辑设计文档模版
  • 规范类型转换
  • 规范脚本测试和自测
  • 规范自动调度系统配置

ETL设计

  • 主要任务:
    完成ETL过程设计
    (数据整合、转换、清洗、数据勘查的设计)
    • 输出:
      数据缺失异常值校验.xlsx
      ETL映射表.xlsx
      ETL实施方案.xlsx
    • 此表中包含
      ods层到dwd 或者中间表的 映射
      ETL工作者归属
      每个表的清洗、整合逻辑记录在此表

ETL开发

  • 主要任务:
    根据ETL设计的逻辑开发脚本
    • 输入:
      数据仓库数据字典0802.xlsx
      ETL映射表.xlsx
      ETL实施方案.xlsx
      销售主题域DW层定版-20191119.xlsx
    • 输出:
      初始化/周期/数据处理/代码表/sql脚本/mapreduceJob/sparkJob

ETL测试

自动调度系统配置

待完善

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133057.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • CSS3新增选择器

    CSS3新增选择器都知道css有三个简单常用的选择器,#id、class和标签选择器。但是css3又新增了一些选择器,可以减少结构代码中ID属性和class属性的定义。使用它们可以减少不少冗杂的代码,便捷开发。下面介绍:css3属性选择器css3结构伪类选择器css3UI伪类选择器1.css3属性选择器属性选择器语法如下(E表示标签):选择器功能描述E[attribute]选…

  • python 一维数组赋值_python二维数组转化为一维数组

    python 一维数组赋值_python二维数组转化为一维数组当我们使用arr=[[0]*5]*5 初始化一个二维数组时,会得到一个5*5的数组,In[1]:arr=[[0]*5]*5In[2]:arrOut[2]:[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]]然后对这个二维数组某个元素进行赋值…

    2022年10月25日
  • token身份认证机制(token怎么获取)

    目录1发展史2Cookie3Session3.1cookie和session的区别4Token4.1传统方式——基于服务器的验证4.2基于服务器验证方式暴露的一些问题4.3基于Token的验证原理4.5Tokens的优势参考文献1发展史1、很久很久以前,Web基本上就是文档的浏览而已,既然是浏览,作为服务器,不需要记录谁在某…

  • windows搭建php环境_如何安装php环境

    windows搭建php环境_如何安装php环境使用apache+php+mysql的方式一、安装mysql1、下载mysql,下载地址:https://dev.mysql.com/downloads/installer/2、下载完成后解压我解压的路径是:D:\ProgramFiles\mysql-8.0.253、配置文件首先在解压的路径下查看是否含有my.ini的文件,如果没有则新建一个,内容如下:[mysqld]#设置3306端口port=3306#设置mysql的安装目录basedir=D:\ProgramFiles\

  • 手把手教你上手Proteus(下载安装+仿真51单片机程序)

    手把手教你上手Proteus(下载安装+仿真51单片机程序)Proteus软件的功能很强大,它集合了电路仿真、PCB设计、虚拟模型仿真,不过本文只介绍Proteus的安装和它的电路仿真功能(单片机及外设)。本文介绍的Proteus版本为Proteus8.9SP2Pro(免破解版本)

  • 运行时异常和一般异常的区别[通俗易懂]

    运行时异常和一般异常的区别[通俗易懂]Java提供了两类主要的异常:runtimeexception和checkedexception。checked异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。  但是另外一种异常:runtimeexc

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号