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


相关推荐

  • Java反射机制:跟着代码学反射

    Java反射机制:跟着代码学反射微信搜索:码农StayUp主页地址:https://gozhuyinglong.github.io源码分享:https://github.com/gozhuyinglong/blog-demos1.前言在OOP的世界里,万物皆对象。也就是说,我们可以将任何东西抽象成一个对象。比如人,可以抽象成一个Person类,通过newPerson()来实例化一个对象;再比如鸭子,可以抽象成一个Duck类,也可以对其进行实例化……那么这一个个类本身是不是也可以抽象成一个类呢?Java提供了一个特殊的类..

    2022年5月20日
    34
  • 微信小程序跳转页面携带参数

    微信小程序跳转页面携带参数小程序跳转页面并携带参数,有两种情况,一是在wxml里通过navigatorurl跳转,一种是在js里通过点击事件跳转,下面案例为跳转详情页面在wxml中:<viewclass=’wait-solve’wx:for=”{{items}}”wx:key=”items.name”wx:for-index=”idx”wx:for-item=”item”>…

    2025年6月8日
    5
  • java 图书馆管理系统(面向接口编程)

    java 图书馆管理系统(面向接口编程)图书馆管理系统功能要求:1.图书馆(对书本的管理)  1.初始化图书馆的书本  2.图书馆有提供借书给用户的功能  3.图书馆有提供用户还书到图书馆的功能  4.图书馆提供查询图书馆的所有图书的功能2.用户系统(对用户管理)  1.初始化用户  2.用户管理提供注册用户的功能(用户名:首字母小写,至少6位。密码:必须包含小写字母,大写字

    2022年7月7日
    34
  • jar包如何读取jar包内的applicationContext.xml[通俗易懂]

    jar包如何读取jar包内的applicationContext.xml[通俗易懂]jar包如何读取jar包内的applicationContext.xml?可以用FileSystemXmlApplicationContext。

    2022年7月16日
    17
  • HashMap的数据结构(浅谈有与无)

    HashMap数据结构浅谈开篇语:hashmap作为一种非常重要的数据结构,无论是在理论学习中,还是实际开发中都会经常遇到。这里总结一下对于hashmap一些基础的知识点。1、常见的数据结构一般开发中常见的数据结构有数组、链表、树、及HashMap。数组结构和链表结构的图形结构非常简单。本次主要讲解HashMap的结构,并结合着源码进行简要分析2、HashMapHashMap的结构图如…

    2022年4月10日
    45
  • Q学习(Q-learning)入门小例子及python实现

    Q学习(Q-learning)入门小例子及python实现一、从马尔科夫过程到Q学习#有一定基础的读者可以直接看第二部分Q学习(Q-learning)算法是一种与模型无关的强化学习算法,以马尔科夫决策过程(MarkovDecisionProcesses,MDPs)为理论基础。标准的马尔科夫决策过程可以用一个五元组<S,A,P,R,γ>表示,其中:S是一个离散有界的状态空间; A是一个离散的动作空间; P为状态转…

    2022年10月4日
    2

发表回复

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

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