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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Jenkins首次安装选择推荐插件时出现“: No such plugin: cloudbees-folder” 解决方案

    说一下场景第一次安装Jenkins,访问http:ip:8080 ,输入管理员密码。然后选择社区推荐的插件安装方式,提示出现:安装过程中出现一个错误: No such plugin: cloudbees-folder原因很明显,就是没有上面提示这个插件导致。解决三步走主要思想是:先跳过推荐安装插件界面,使用手动上传插件的方式,然后手动上传Ok后,重新回到推荐插件安装界面,选择推荐插件…

    2022年2月28日
    316
  • 【Android】PreferenceFragment「建议收藏」

    【Android】PreferenceFragment「建议收藏」调用PreferenceFragment类出错,用了我三天时间才搞定,查官方文档,看百度最后在这位大佬的帖子帮助下终于搞定了。https://blog.csdn.net/cqx13763055264/article/details/78498419#commentBoxPreferenceActivity创建和使用比较复杂,Android官方现在不建议使用了,使用Preferenc…

    2025年8月28日
    6
  • elemtype到底是个啥?

    elemtype到底是个啥?以前对这个东西的一知半解,今天有时间,查了多方面的资料,总结下:ElemType简单来说就是:用来更好的替代,他也可以叫做别的名字,比如说:#defineElemTypeint写程序,就可以用ElemType来进行替代int,若以后想要改Elemtype所定义的数据类型为char,直接#defineElemTypechar只要是其涉及到的全部修改了数据类型,可以修改最少量的代码,…

    2022年5月12日
    101
  • linux命令手册 apk_linux命令全集

    linux命令手册 apk_linux命令全集linux手册app是一款学习教育应用,是个能让你快速查询linux命令的手机软件。此外在linux手册app中还有学习手册,让你可随时查询不清楚的知识点。基本简介linux手册包app含linux命令速查以及一个linux简易学习教程,是学习linux必备宝典,命令速查可以快速知道linux命令使用方法,并且配有学习手册,方便及时查阅不懂知识。功能介绍1,linux简易教程方便随时阅读2,命令搜…

    2022年9月14日
    2
  • CAS原理分析_单点登录cas原理

    CAS原理分析_单点登录cas原理CAS的英文为CompareandSwap翻译为比较并交换。CAS加volatile关键字是实现并发包的基石。没有CAS就不会有并发包,synchronized是一种独占锁、悲观锁,java.util.concurrent中借助了CAS指令实现了一种区别于synchronized的一种乐观锁。什么是乐观锁与悲观锁?悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所…

    2022年10月17日
    3
  • 使用wangEditor批量上传并且保证图片顺序

    使用wangEditor批量上传并且保证图片顺序

    2021年7月11日
    110

发表回复

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

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