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


相关推荐

  • 单片机控制步进电机程序c语言正反转停止,单片机控制步进电机正反转程序

    单片机控制步进电机程序c语言正反转停止,单片机控制步进电机正反转程序该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include”reg52.h”#defineuintunsignedint#defineucharunsignedcharsbitk1=P3^4;sbitk2=P3^5;sbitk3=P3^6;voiddelay(uintxms){uinti,j;for(i=xms;i>0;i–)for(j=110;j>0;j-…

    2022年5月31日
    53
  • 4399积分小游戏大全_4399小游戏大全手机版

    4399积分小游戏大全_4399小游戏大全手机版近日有研究4399的积分小游戏的分数提交规则,但不能太高调的对做类似外挂的东西…写以下代码..仅供分析研究1db=MySql::getInstance();14}1516fu

    2022年8月3日
    3
  • php网站在服务器上邮件发送不了,在本地可以

    php网站在服务器上邮件发送不了,在本地可以

    2021年9月21日
    34
  • 多线程模型下的无锁编程「建议收藏」

    多线程模型下的无锁编程「建议收藏」多线程模式是比较流行的一种并发编程模型,多线程编程的一个特点就是线程间共享内存空间;这可以降低线程间通信的开销,但却引来了另外的一个难缠的问题:竟态条件!,因此,甚至有人对多线程模型提出了质疑,看这里。在多线程编程模型下,解决竟态条件的传统方法就是加锁保护临界区,但这存在影响系统性能、优先级反转等问题.因此又有人提出了,多线程模型下无锁编程的一些方式:1.线程内通信框架:Di

    2022年5月9日
    31
  • 数据库设计规范

    数据库设计规范数据库的重要性不言而喻。对程序员来说跟数据库打交道更是家常便饭。数据库给开发带来了巨大的便利。我们或多或少的知道一些数据库设计规范,但并不全面。今天我就简单整理一下,帮自己做个总结梳理,也希望可以帮到小伙伴们。数据库设计规范包括命名规范、库表基础规范、字段规范、索引规范和SQL设计规范。1.命名规范1.1库名、表名、字段名禁止使用MySQL保留字。1.2库名、表名、字段名使…

    2022年7月12日
    21
  • INT0中断_中断请求寄存器

    INT0中断_中断请求寄存器 当进程执行系统调用时,先调用系统调用库中定义某个函数,该函数通常被展开成前面提到的_syscallN的形式通过INT0x80来陷入核心,其参数也将被通过寄存器传往核心。 在这一部分,我们将介绍INT0x80的处理函数system_call。 思考一下就会发现,在调用前和调用后执行态完全不相同:前者是在用户栈上执行用户态程序,后者在核心栈上执行核心态代码。那么,为了保证在核心内部执行完系统调用…

    2022年9月12日
    0

发表回复

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

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