一篇文章搞懂数据仓库:常用ETL工具、方法(1)

这篇具有很好参考价值的文章主要介绍了一篇文章搞懂数据仓库:常用ETL工具、方法(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,是数据仓库的生命线。

**抽取(Extract)**主要是针对各个业务系统及不同服务器的分散数据,充分理解数据定义后,规划需要的数据源及数据定义,制定可操作的数据源,制定增量抽取和缓慢渐变的规则。

**转换(transform)**主要是针对数据仓库建立的模型,通过一系列的转换来实现将数据从业务模型到分析模型,通过ETL工具可视化拖拽操作可以直接使用标准的内置代码片段功能、自定义脚本、函数、存储过程以及其他的扩展方式,实现了各种复杂的转换,并且支持自动分析日志,清楚的监控数据转换的状态并优化分析模型。

**装载(Load)**主要是将经过转换的数据装载到数据仓库里面,可以通过直连数据库的方式来进行数据装载,可以充分体现高效性。在应用的时候可以随时调整数据抽取工作的运行方式,可以灵活的集成到其他管理系统中。

二、ETL & ELT


伴随着数据仓库的发展(传送门:数据仓库的八个发展阶段),数据量从小到大,数据实时性从T+1到准实时、实时,ETL也在不断演进。

在传统数仓中,数据量小,计算逻辑相对简单,我们可以直接用ETL工具实现数据转换(T),转换之后再加载到目标库,即(Extract-Transform-Load)。但在大数据场景下,数据量越大越大,计算逻辑愈发复杂,数据清洗需放在运算能力更强的分布式计算引擎中完成,ETL也就变成了ELT(Extract-Load-Transform)。

即:Extract-Transform-Load  >>  Extract-Load-Transform

通常我们所说的ETL,已经泛指数据同步、数据清洗全过程,而不仅限于数据的抽取-转换-加载。

三、常用的ETL工具


下面小编将介绍几类ETL工具(sqoop,DataX,Kettle,canal,StreamSets)。

3.1 sqoop

  • 是Apache开源的一款在Hadoop和关系数据库服务器之间传输数据的工具。

  • 可以将一个关系型数据库(MySQL ,Oracle等)中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导出到关系型数据库中。

  • sqoop命令的本质是转化为MapReduce程序。

  • sqoop分为导入(import)和导出(export),

  • 策略分为table和query

  • 模式分为增量和全量。

一篇文章搞懂数据仓库:常用ETL工具、方法(1),程序员,数据仓库,etl

一篇文章搞懂数据仓库:常用ETL工具、方法(1),程序员,数据仓库,etl

3.2 DataX

  • DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台

  • 实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。

一篇文章搞懂数据仓库:常用ETL工具、方法(1),程序员,数据仓库,etl

一篇文章搞懂数据仓库:常用ETL工具、方法(1),程序员,数据仓库,etl

3.3 Kettle

  • 一款国外免费开源的、可视化的、功能强大的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定。

3.4 canal

  • canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据实时订阅和消费,目前主要支持了MySQL,也支持mariaDB。

一篇文章搞懂数据仓库:常用ETL工具、方法(1),程序员,数据仓库,etl

3.5 StreamSets

  • 是大数据实时采集ETL工具,可以实现不写一行代码完成数据的采集和流转。通过拖拽式的可视化界面,实现数据管道(Pipelines)的设计和定时任务调度。

  • 创建一个Pipelines管道需要配置数据源(Origins)、操作(Processors)、目的地(Destinations)三部分。

四、ETL加载策略


4.1 增量

  • 有些表巨大,我们需要选择增量策略,新增delta数据需要和存量数据merge合并。

  • 两种方法:

  • merge(一)

一篇文章搞懂数据仓库:常用ETL工具、方法(1),程序员,数据仓库,etl

  • merge(二)

  • 只有新增(full join。能拿更新表就拿更新表)

一篇文章搞懂数据仓库:常用ETL工具、方法(1),程序员,数据仓库,etl

  • 新增+删除

  • history-table Left join delet-table where delect-table.value is null == 表a

  • 表a full join update-table (能拿update就拿update)

一篇文章搞懂数据仓库:常用ETL工具、方法(1),程序员,数据仓库,etl

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

一篇文章搞懂数据仓库:常用ETL工具、方法(1),程序员,数据仓库,etl

一篇文章搞懂数据仓库:常用ETL工具、方法(1),程序员,数据仓库,etl

一篇文章搞懂数据仓库:常用ETL工具、方法(1),程序员,数据仓库,etl

一篇文章搞懂数据仓库:常用ETL工具、方法(1),程序员,数据仓库,etl

一篇文章搞懂数据仓库:常用ETL工具、方法(1),程序员,数据仓库,etl

一篇文章搞懂数据仓库:常用ETL工具、方法(1),程序员,数据仓库,etl

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)文章来源地址https://www.toymoban.com/news/detail-854712.html

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

一篇文章搞懂数据仓库:常用ETL工具、方法(1),程序员,数据仓库,etl

到了这里,关于一篇文章搞懂数据仓库:常用ETL工具、方法(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一篇文章搞懂华为的ACL

    随着网络的飞速发展,网络安全问题日益突出。访问控制列表 (ACL, Access Control List) 可以通过对网络中报文流的精确识别,与其他技术结合,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的,从而切实保障网络环境的安全性和网络服务质量的可靠性。 访问

    2024年02月06日
    浏览(32)
  • 搞懂TVS管,有这篇文章就够了

    摘要:本文主要介绍TVS的工作原理、关键参数和选型。 TVS(Transient Voltage Suppressors,瞬态电压抑制器)又称雪崩击穿二极管,是一种高效电路保护器件,主要是保护电路不受瞬态高压尖峰脉冲(静电或雷击浪涌)的冲击。 TVS是采用半导体工艺制成的单个PN结或多个PN结集成的器件,

    2023年04月08日
    浏览(33)
  • 一篇文章带你搞懂前端Cookie

    浏览器Cookie相信各位点进这篇文章的小伙伴应该不陌生了,它是前端领域中一个非常重要的内容,当然也是面试的一个考点,不知道各位小伙伴是否真正掌握了Cookie呢?当然没有掌握也是没有关系的,可以跟着小编的脚步一起来学习一下前端Cookie,没有熟练掌握的小伙伴看完这

    2024年02月04日
    浏览(33)
  • 一篇文章搞懂前端sso需要做什么

    父域 Cookie 认证中心 LocalStorage 跨域 一般情况下,用户的登录状态是记录在 Session 中的,要实现共享登录状态,就要先共享 Session,但是由于不同的应用系统有着不同的域名,尽管 Session 共享了,但是由于 SessionId 是往往保存在浏览器 Cookie 中的,因此存在作用域的限制,无法

    2024年02月20日
    浏览(31)
  • 一篇文章带你搞懂stm32工程文件

    本文以stm32f4为例,讲解stm32标准库工程中各个文件的作用,学艺不精,如有错误,望大家私信或评论指出。 先看思维导图 startup_stm32f427xx.s  该文件是stm32的启动文件,由汇编语言编写,主要是做stm32上电时的配置设置(如堆栈指针,时钟数)并跳转到main函数中,执行c代码。

    2024年02月21日
    浏览(33)
  • 一篇文章带你搞懂GIT、Github、Gitee

    本文介绍了GIt,GitHub,Gitee的使用,与IDEA的Git配置,跟着文章来做你很快就能学会操作Git,利用其进行版本控制与代码托管,学习Git的使用、Git常用命令、Git分支,分支是团队协作的基础,介绍了团队内,外协作和Github远程仓库的操作、使用IDEA中的Git、IDEA中GIt的使用、在I

    2023年04月19日
    浏览(38)
  • 一篇文章让你搞懂自定义类型-----结构体

    结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量 例如描述一个学生 在声明结构的时候,可以不完全的声明 比如 上面的两个结构在声明的时候省略掉了结构体标签(tag) 那么问题来了 警告: 编译器会把上面的两个声明当成完全不同的两个

    2024年02月16日
    浏览(29)
  • Unity/C#------委托与事件(一篇文章彻底搞懂...)

            所有的代码语言创造者母语都是英语,我们从英语翻译到中文的过程中难免会存在一些不太能还原本意的词,比如我之前一直不理解构造函数和析构函数,只知道这俩货作用相反,直到我看到了它的英文意思,Construstor/Distructor,我才彻底理解了他们的作用。      

    2024年02月06日
    浏览(32)
  • 什么是区块链?一篇文章搞懂区块链本质

    鉴于我对区块链的关注,以及很多关注我的朋友们,并不是很清楚区块链的本质和潜力点,所以今天在地铁里疏离了一下,并分享给大家。 你见过钱吗?我相信你是没见过真正的钱的。 这是钱吗? 这是“钞票”,而不是钱!这不是抠字眼,且听我细细道来。 别人管你借钱的

    2024年01月22日
    浏览(28)
  • 一篇文章搞懂CMake(gcc、g++、cmake解释)

    gcc命令来自英文词组“GNU Compiler Collection”的缩写,其功能是用于C/C++语言编译器。原文链接:https://www.linuxcool.com/gcc GCC 的编译流程包括以下几个阶段: 预处理(Preprocessing):对源代码进行宏替换、头文件展开等操作,生成预处理文件(.i 文件)。 编译(Compilation):将预处

    2024年02月08日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包