ETL简介

用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。 常用的ETL工具,比如Sqoop,DataX,Kettle等。 具体问题:

  1. 有规律格式的文件数据,例如以 “|”分隔的数据。 如何加载数据库?
  2. 数据库中数据导出成文件。如有固定格式文件,Excle,Csv格式文件?
  3. 多个不同数据库之间数据如何迁移?

Kettle简介

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。 提供一个图形化的工作环境来描述数据逻辑的处理,可以让我们图形化方式开发。

  1. transformation翻译是转换。主要负责数据的处理。简称数据流。转换会一次性把所有控件全部先启动(一个控件对应启动一个线程),然后数据流会从第一个控件开始,一条记录、一条记录地流向最后的控件。
  2. job 翻译是作业。主要负责逻辑处理,也能处理少量数据。检查步骤流。作业的每一个步骤,必须等到前面的步骤都跑完了,后面的步骤才会执行。
  3. pan.sh/pan.bat 采用命令行方式执行由spoon编辑完成的转换。
  4. kitchen.sh/kitchen.bat 采用命令行方式执行由spoon编辑完成的作业。

    kettle特点

    • 开源免费
    • 易移植
    • 图形界面开发,组件丰富