热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

大数据学习——基于大数据平台的数据仓库ETL基本思路

大数据平台数据仓库ETL基本思路ETL工具开源工具:Sqoop:Hadoop(hive)和关系型数据库之间传输数据的开源E

大数据平台数据仓库ETL基本思路

 


ETL工具

开源工具:

Sqoop:Hadoop(hive)和关系型数据库之间传输数据的开源ETL工具。

Beeline:hive客户端工具,基于SQLline的JDBC客户端

Azkaban:任务调度开源工具。

 

自开发工具:


  1. 脚本生成工具:jar包,基于系统调研时产生的表级调研文档,自动检索数据源并生成整体ETL工具中拥有较高规范的脚本文件的脚手架:ods层建表语句、sqoop脚本、sync脚本、flow脚本。必要时依据实际情况对脚本进行人工调整。
  2. 脚本执行工具:python程序,读取参数文件数据并替换脚本中的对应参数,执行脚本。
  3. SQL执行工具:python程序,读取参数文件数据并替换脚本中的对应参数,执行脚本。
  4. CTL参数生成工具:python程序,基于TDH-mysql库ctl控制表生成对应的参数文件。
  5. 互斥锁:依据azkaban中并发project的操作表情况,设计互斥锁避免并发操作同一张表的情况发生。
  6. 数据源检查:jar包,基于TDH-mysql库ctl表信息和数据源实际情况,检查数据源表结构变更情况,判断是否需人工介入,记录变更情况。
  7. 稽核工具:oracle-ods层数据抽取完整性、ods-dw层数据映射正确性稽核。人工开发脚本。

 

 


ETL开发过程

大数据平台新数据源加入,ETL开发过程:


  1. 数据调研:
    1. 对数据源系统进行调研,输出系统调研文档、表级调研文档、字段级调研文档、数据字典等调研资料
  2. 脚本脚手架生成:
    1. 确定大数据平台抽取范围(表+时间)、抽取方式(增量/全量)、抽取周期等。信息补充到表级调研文档
    2. 脚本生成工具+表级调研文档—>生成各脚本程序的脚手架。细节及特殊情况进行人工调整。包括:ods层建表语句、sqoop脚本、sync脚本、azkaban调度脚本
    3. Waterdrop下使用ods层建语句创建数据源ods层表结构:txtfile和orc表
    4. Sqoop脚本及sync脚本拷贝到指定路径,调整或检查azkaban脚本
    5. 上传azkaban脚本,检查任务逻辑
  3. 参数文件生成:
    1. 配置TDH-mysql的ctl库相关表信息
    2. 执行CTL参数生成工具生成对应数据源的参数文件
  4. 数据初始化:
    1. 调整参数文件,使数据同步范围为全部时间(全量)
    2. 执行azkaban任务,初始化数据到ods层
  5. DW层脚本开发:
    1. DW层表结构设计、关联关系设计、映射关系设计,形成dw层设计文档
    2. DW层映射mapp脚本开发,形成sql脚本文件,拷贝到执行路径
    3. DW层建表语句及TMP表建表语句存档
  6. DW层部署:
    1. 对DW层脚本进行血缘分析,生成依赖关系文档
    2. 调整azkaban脚本文件,补充DW层任务调度
    3. 按需设计互斥锁、调整相关代码补充锁机制
  7. 数据稽核:
    1. 数据源检查程序初始化
    2. 数据稽核脚本配置
    3. 启动运行(调整azkaban脚本)

推荐阅读
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Oracle10g备份导入的方法及注意事项
    本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 本文介绍了一个误删Oracle数据文件导致数据库无法打开的问题,并提供了解决方式。解决方式包括切换到mount状态、离线删除报错的数据文件等。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
author-avatar
孤火自燃
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有