kettle工具 学习

kettle工具 学习背景:项目需要从客户的数据库迁移一批人口数据,大约240w条。所以我们需要一款工具帮助我们实现数据快速搬运,数据过滤,以得到符合我们使用的安全数据。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

    背景:项目需要从客户的数据库迁移一批人口数据,大约240w条。所以我们需要一款工具帮助我们实现数据快速搬运,数据过滤,以得到符合我们使用的安全数据。

      先放一个不错的基础教程博文链接http://f.dataguru.cn/thread-186578-1-1.html

     再放一个存储过程的博文推荐http://www.cnblogs.com/chinafine/archive/2010/07/12/1776102.html

      kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,数据抽取高效稳定的数据迁移工具。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流程的控制。  

   明确表PAT_MASTER_INDEX(桂林人口数据表)—-》t_patientget(居民信息采集表)

   业务分析 从人口库迁移数据到项目库,中间需要进行数据筛选,拼装。

  1 下载并安装

      这次使用的是4.2 版本 我们以4.2为模板学习

      kettle工具 学习

      1.1   解压后 免安装 可直接使用。解压后点击Spoon.bat 运行 需要JRE环境支持。

kettle工具 学习

      1.2 新建transformation工作台 保存后为.ktr文件

    kettle工具 学习

    1.3 新建数据库连接

         两种方式

         1.3.1 建了以备不时之需

          主对象树–transformation–DB连接–右击新建

kettle工具 学习

       配置数据库参数

kettle工具 学习

       1.3.2 使用时再建

         核心对象–输入–拖拽表输入到工作台

kettle工具 学习

双击“表输入”

kettle工具 学习

            在“数据库连接”点击–”新建“ 与第一种方式相同,配置数据库连接,选择我们所需的连接

kettle工具 学习

点击“获取SQL查询语句”,以获得目标表

kettle工具 学习

正确操作出现上图红框所示SQL语句

kettle工具 学习

勾选“允许延迟转换”–点击“确定”

    同理 我们建立“表输出”

kettle工具 学习

1.4   在左侧“核心对象”中的“转换”文件夹中选择“字段选择”功能,拖动到右侧编辑区。按住键盘shift同时鼠标从“表输入”为起点,“字段选择”为终点画一条连接。如图:

kettle工具 学习

 1.5 双击“字段选择”,打开编辑窗口,选择“元数据”面板,点击右侧“获取改变的字段”,将自动列出之前表输入中所有字段

      kettle工具 学习

1.6 编辑完“字段选择”后点击“确定”关闭窗口。同上,在“输出”文件夹中拖动一个“表输出”到右侧编辑区,并画连接

kettle工具 学习

基本的工作流程就完成了,

   2 下面是一些针对业务上做的一些工作

      2.1 数据过滤,

kettle工具 学习

过滤掉证件类型不是身份证的,死亡人口,非“桂林市”户口人口,以及最后做了个存储过程,校验身份证号码正确性。

这是第一层数据过滤。

kettle工具 学习

2.2  针对过滤后的数据 导入“采集表”中

kettle工具 学习

拼接户籍地址,现居住地址(根据行政区划代码 从字典表中查出 拼接)

所以 我们直接在数据层上 写存储过程解决业务逻辑,可以很大的提高效率。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183409.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux的vim显示行号(vim添加行号)

    打开vim的配置文件/etc/vim/vimrcsudovim/etc/vim/vimrc然后找到#setnumber,把注释取消就行了如果没有,就自己加一行转载于:https://www.cnblogs.com/zdj8023/p/10837480.html…

    2022年4月11日
    132
  • mysql将字符转换成数字

    mysql将字符转换成数字在操作mysql时,经常需要将字符转换成数字,这一步虽然简单,但不常用的话也很容易忘记,现将在网上找到的方法记录如下:1.将字符的数字转成数字,比如’0’转成0可以直接用加法来实现例如:将pony表中的d进行排序,可d的定义为varchar,可以这样解决select*fromponyorderby(d+0)2.在进行ifnull处理时,比如ifnull(a/b,’0

    2022年5月29日
    50
  • 图形界面JAVA_aardio plus

    图形界面JAVA_aardio plus前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了。于是百度了下python的图形界面库,眼花缭乱的一整页,拣了几件有“特色”有“噱头”的下载下来做了个demo,仍旧不是很满意,不是下载安装繁琐,就是界面丑陋或者难写难用,文档不齐全。后来那天,整理电脑文件发现了6年前下载的aatuo(现已更名aardio),顿时一阵惊喜。先说说aard…

    2025年8月12日
    3
  • dpkg命令用法[通俗易懂]

    dpkg命令用法[通俗易懂]dpkg是一个Debian的一个命令行工具,它可以用来安装、删除、构建和管理Debian的软件包。下面是它的一些命令解释:1.安装软件命令行:dpkg-i<.debfilename>示例:dpkg-iavg71flm_r28-1_i386.deb2.安装一个目录下面所有的软件包命令行:dpkg-R示例:dpkg-R/usr/local/src3.释放软件包,但是不进行配

    2022年5月21日
    108
  • Win7如何分享局域网并设置共享文件夹账户和密码

    Win7如何分享局域网并设置共享文件夹账户和密码

    2021年10月9日
    65
  • java 僵尸危机秘籍_《僵尸危机3》通关秘籍

    java 僵尸危机秘籍_《僵尸危机3》通关秘籍关于武器:1一开始给的手枪,子弹无限。2UZI:冲锋枪,一开始100发子弹,以后会更多3Shotgun:单暴,打小僵尸一下就死,BOSS5、6下,以后是连暴4Barrel:油桶,放了以后,打一枪就炸,注意别把自己炸死5Grenade:手榴弹,一扔就OK6walls:是墙,用来堵路的7Claymore:炸弹,放一个,走远点,僵尸走到那就爆了8Rocket:火箭弹:离远点再打,容易自残…

    2025年8月1日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号