• Kettle基本使用


    1. Kettle简介

    Kettle是一个开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定,基本的数据抽取、转换、加载,他都可以。
    可以把各种数据放到一个壶里,然后以一种指定的格式流出,比如一个mysql数据库的数据同步到一个Postgres数据库。
    它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
    Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

    2. 下载Kettle

    Kettle可以在http://kettle.pentaho.org/网站下载。

    3. 运行Kettle

    下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可。

    运行Kettle.png

    点击Spoon.bat直接运行软件。(:需要提前安装好JDK环境)

    4. 将数据转换成Excel

    为了实现这个功能,我们需要:
    1.连接到数据库
    2.导出为Excel

    首先,我们新建一个转换:

    新建一个转换.png

    新建,之后,我们可以看到,工具箱中,有很多的控件,我们都可以使用。

    工具箱.png

    新建数据库连接(:需要在软件的根目录lib文件夹下添加所连接数据库的驱动jar包):

    新建数据库连接.png

    填写相关的链接信息:

    链接信息.png

    测试链接是否成功(可省略):

    测试链接.png

    好了,可以连接到数据库了,下面,我们得把数据导出啊,我们需要使用输入这个控件。
    输入下面,有很多的控件,我们这次只使用表输入,因为我们是直接从数据库中拿数据。

    连接到数据库.png
    从数据库中拿数据.png

    点击获取SQL查询语句,弹出数据库浏览器弹窗:

    数据库浏览器弹窗.png

    选择要导出的表:

    选择要导出的表.png

    点击动作可以进行数据的预览:

    数据的预览.png

    同时也可以选定好表之后点击表输入弹窗的正下方预览按钮预览数据:

    数据的预览.png

    源头好了,同样的思路,我们需要一个目标,就是输出了,输出到Excel:

    输出到Excel.png

    同样的,我们托好之后,双击就可以编辑了,这里,我们主要关注2个配置,一个是excel保存地址,和字段:

    编辑.png

    我们选择一个地址,然后得,看下字段那个tab。
    我们单击,获取字段,就可以从源头获取表中的字段了,当然,我们可以只导出,我们需要的字段。
    一步一步来的话,上面获取,可能会获取不到,因为,有一步,需要将2个控件,连起来,源头有了,目标也有了,得让他们关联起来啊,再Kettle中,这个连线叫做Hop(跳),就像一个管道一样,将数据流从一个点,指向另一个点。(也可按住Shift键链接)

    编辑.png

    和Java里面,一样,绿色的话,就代表成功了!

    5. 将数据从一张表中复制到另一张表

    同样的,首先我们需要一个目标,就是输出了,输出到表:

    输出到表.png

    双击表输出步骤按钮,弹出表输出相关选项设置窗口,点击目标表浏览按钮,弹出数据库浏览器窗口进行数据库目标输出表的选择:

    数据库浏览器.png

    选择完毕之后,勾选指定数据库字段选框,将tab切换到数据库字段:

    数据库字段.png

    同样的和导出excel一样一步一步来的话,上面获取,可能会获取不到,具体为什么就不再赘述可以查看导出excel(也可按住Shift键链接):

    链接.png

    点击获取字段会弹出一个询问是否新增新的、新增所有或清除并新增的窗口:

    询问窗口.png

    我们点击清除并新增:

    清除并新增.png

    点击输入字段映射:

    字段映射.png

    此时我们可以看见表字段和流字段已经一一对应上了。(:也可以根据自己的需求删除或另外新增其他字段,可随自己需要自定义。)
    点击确定
    此时点击运行:

    运行.png

    绿色的话,就代表成功了!

    成功.png

  • 相关阅读:
    Java操作XML文件
    数据结构之shell排序
    制作个人开发IDE
    ActiveMQ基本详解与总结
    ActiveMQ的作用总结(应用场景及优势)
    C# 封装miniblink 使用HTML/CSS/JS来构建.Net 应用程序界面和简易浏览器
    已使用.netframework,version=v4.6.1 而不是目标框架netcoreapp,version=v2.1 还原包,此包可能与项目不完全兼容
    RabbitMQ的六种工作模式
    RabbitMQ学习系列
    RabbitMQ基本概念和原理
  • 原文地址:https://www.cnblogs.com/journeyIT/p/8267214.html
Copyright © 2020-2023  润新知