背景:不同平台都可以获得用户,这些用户之间可能是交叉重复,比如你之前在A平台注册了,后来你又在B平台注册了。而不同的平台存储数据的表结构,表字段可能不同。最有代表性的,美团合并了大众点评,两家外卖平台的数据必须整合在一起,才能发挥更大的商业价值----数据集成。

数据集成的两种架构:ELT 和 ETL

一般来说,数据工程师的工作包括了数据的 ETL 和数据挖掘算法的实现。算法实现可以理解,就是通过数据挖掘算法,从数据仓库中找到“金子“。

ETL实现数据抽取、转换、加载这三个过程

抽取是将数据从已有的数据源中提取出来。

转换是对原始数据进行处理,例如将表输入 1 和 表输入 2 进行连接形成一张新的表。

根据转换发生的顺序和位置,数据集成可以分为 ETL 和 ELT 两种架构。

ETL 的过程为提取 (Extract)——转换 (Transform)——加载 (Load),在数据源抽取后首先进行转换,然后将转换的结果写入目的地。

ELT 的过程则是提取 (Extract)——加载 (Load)——变换 (Transform),在抽取后将结果先写入目的地,然后利用数据库的聚合分析能力或者外部计算框架,如 Spark 来完成转换的步骤。

目前数据集成的主流架构是 ETL,但未来使用 ELT 作为数据集成架构的将越来越多。

ELT 和 ETL 相比,最大的区别是“重抽取和加载,轻转换”,从而可以用更轻量的方案搭建起一个数据集成平台。一方面更省时,另一方面 ELT 允许 BI 分析人员无限制地访问整个原始数据,从而使BI对于数据处理更加灵活,更好的支持业务。

ETL 工具有哪些?

开源软件:Kettle、Talend、Apatar、Scriptella、DataX、Sqoop 等

Kettle 工具的使用

Kettle 是一款国外开源的 ETL 工具,纯 Java 编写,可以在 Window 和 Linux 上运行,不需要安装就可以使用。

下载地址:https://community.hitachivantara.com/docs/DOC-1009855

在使用 Kettle 之前还需要安装数据库软件和 Java 运行环境(JRE)

Kettle 采用可视化的方式进行操作,来对数据库间的数据进行迁移。它包括了两种脚本:Transformation 转换和 Job 作业。

Transformation(转换):相当于一个容器,对数据操作进行了定义。数据操作就是数据从输入到输出的一个过程。在通常的工作中,我们会把任务分解成为不同的作业,然后再把作业分解成多个转换

Job(作业):相比于转换是个更大的容器,它负责将转换组织起来完成某项作业。

Transformation 可以分成三个步骤,它包括了输入、中间转换以及输出。

在 Transformation 中包括两个主要概念:Step 和 Hop。

Step(步骤):Step 是转换的最小单元。在上面这个转换中,就包括了表输入、值映射、去除重复记录、表输出这 4 个步骤;

Hop(跳跃线):用来在转换中连接 Step。它代表了数据的流向。

如何创建 Job(作业):完整的任务,实际上是将创建好的转换和作业串联起来。在这里 Job 包括两个概念:Job Entry、Hop。

Job Entry(工作实体):Job Entry 是 Job 内部的执行单元,每一个 Job Entry 都是用来执行具体的任务,比如调用转换,发送邮件等。

Hop:指连接 Job Entry 的线。并且它可以指定是否有条件地执行。

案例 1:如何将文本文件的内容转化到 MySQL 数据库中

数据集成--ETL工具相关推荐

  1. java etl 工具有哪些_常用的数据集成ETL工具有哪些?

    常用的数据集成ETL工具有哪些?ETL工具用于将异构数据转换为同类数据,然后由数据科学家用于从数据中获得有价值的数据,常用的ETL工具有Microsoft-SQL Server集成服务.AWS Glu ...

  2. 常用的数据集成ETL工具有哪些?

    一.Informatica Informatica是全球领先的数据管理软件提供商.在如下 Gartner魔力象限位于领导者地位:数据集成工具魔力象限.数据质量工具魔力象限.元数据管理解决方案魔力象限. ...

  3. 基于java的数据交换ETL工具及可视化平台源码

    平台定位 本平台是一个基于web的异构数据交换和数据可视化展示工具,支持常见的关系型数据库(MySQL,Oralce,SqlServer,PostgreSQL),适用于中小型企事业单位的内部信息化系统 ...

  4. ETL学习总结(2)——ETL数据集成工具之kettle、sqoop、datax、streamSets 比较

    前言 对于数据集成类应用,通常会采用ETL工具辅助完成.ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).交互转换(transfo ...

  5. 从ETL工具到企业云数据管理,在大数据风口的Informatica完成蜕变

    数据已经成为整个社会的一个重要资产,越来越多的企业正在向数据驱动型企业转型.然而,数据的爆炸性增长,特别是非结构化数据的爆炸性增长使得这种转型面临巨大挑战.有研究显示,到2020年,平均每个互联网用户 ...

  6. 数据提取、转换和加载 - ETL工具

    ETL,Extraction-Transformation-Loading的缩写,中文名称为数据提取.转换和加载. ETL工具有:OWB(Oracle Warehouse Builder).ODI(O ...

  7. Kafka ETL 之后,我们将如何定义新一代实时数据集成解决方案?

    上一个十年,以 Hadoop 为代表的大数据技术发展如火如荼,各种数据平台.数据湖.数据中台等产品和解决方案层出不穷,这些方案最常用的场景包括统一汇聚企业数据,并对这些离线数据进行分析洞察,来达到辅助 ...

  8. 【大数据】什么是数据集成?(SeaTunnel 集成工具介绍)

    文章目录 一.什么是数据集成? 二.ETL 又是什么? 三.SeaTunnel 介绍 1)概述 2)SeaTunnel 的作用 3)SeaTunnel 的特点 4)Seatunnel 优势与缺点 5) ...

  9. 「集成架构」ETL工具大比拼:Talend vs Pentaho

    Talend和Pentaho的区别 数据总是巨大的,任何行业都必须存储这些"数据",因为它带有巨大的信息,从而导致他们的战略规划.正如人们需要房子感到安全一样,数据也必须得到保障. ...

最新文章

  1. C#发现之旅第一讲 C#-XML开发
  2. 基于Storyboard创建多分支NavigationController的方法
  3. 没有了传感器,工业机器人还能工作吗?
  4. 解决安卓微信浏览器中location.reload 或者 location.href失效的问题
  5. JS浮点数运算Bug的解决办法(转自百度文库)
  6. [痛并快乐着 国外开发者总结欧美游戏坑钱指南] 讀後感想
  7. optee中mutex的实现方式
  8. 编码风格:Mvc模式下SSM环境,代码分层管理
  9. Web开发HTTP中URI和URL的情感纠葛
  10. QT调用OpenCV
  11. 网络流量在线分析系统的设计与实现
  12. Android 测试(Unit Test Instrument Test)
  13. matlab 画图串联_Matlab串联矩阵函数【horzcat】详细解析
  14. 长尾词推广系统推荐乐云seo_长尾词优化推广很好乐云seo
  15. 淘宝直通车ROI,投产比怎么算,ROI计算公式
  16. 苹果发布了Final Cut Pro和Logic Pro的M1新版本
  17. 网络工程师学习笔记——RIP路由汇总实验配置精讲
  18. android安全问题(八)伪造短信(利用原生android4.0漏洞)
  19. 如何评估社交网络中信息内容的价值呢?
  20. 阿里的Java 开发,拿那么高工资,每天都在干啥?

热门文章

  1. Web前端开发笔记——第二章 HTML语言 第三节 文本格式化标签
  2. LeetCode题库第2题 两数相加
  3. php 获取请求,PHP 扩展 - 获取请求信息
  4. linuxl下创建mysql用户和组_Linux中用户与用户组管理
  5. gltexsubimage2d 性能_风水轮流转!AMD R5 5600X单核性能碾压十代i9
  6. mybatis update返回值_mybatis 详解(六)通过mapper接口加载映射文件
  7. 华为怎么安装服务器系统版本,服务器怎么安装操作系统版本
  8. python字符复制函数是啥_Python最全的字符和字符串函数,直接复制到IDLE或另存为py可以运行...
  9. java test报错_Java 单元测试报错
  10. Java根据学号提取班级_学生成绩管理系统 1. 能够实现根据以下关键字查询:学生姓名 、学号、班级、课 联合开发网 - pudn.com...