ETL工具——kettle实现简单的数据迁移

2023-11-09

1、Kettle概念

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。

Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

2.安装与启动

KETTLE本身是绿色安装版软件,直接对压缩包解压后即可使用,在Linux操作系统下通过.sh文件运行,在Windows操作系统下对应的是.bat文件

spoon.bat一闪而过,无法打开的问题:内存设置

spoon.bat修改

if “%PENTAHO_DI_JAVA_OPTIONS%”=="" setPENTAHO_DI_JAVA_OPTIONS="-Xms512m" “-Xmx512m”"-XX:MaxPermSize=256m"

3.常用组件

  • 数据库连接
  • sql脚本
  • 表输入(数据来源表)
  • 字段选择
  • 表输出(落新表)
  • 插入/更新

当然kettle自带了非常多的组件可使用,目前只接触了这些。kettle也支持将文件作为输入输出等等。

4.具体案例

服务器上的pgsql和本地的sqlserver 之间的数据迁移简单案例

pgsql: result user_number user_name -> sqlserver:demo_user user_id user_name

总体结构:

sql脚本先清除了sqlserver中demo_user表的数据

然后表输入,选择了pgsql:result表中的所有字段

字段选择,选择了user_number user_name并改名为user_id user_name

表输出,选择sqlserver:demo_user

组件之间使用 shift+鼠标左键连接
图中下边有个独立的表输入2只是用于查看数据迁移是否生效,直接去数据库看是一样的。
在这里插入图片描述

4.1 数据库连接

sqlserver需要手动下载驱动jar至kettle的lib中https://sourceforge.net/projects/jtds/files/latest/download

这里分别是服务器中的pgsql和本地sqlserver
在这里插入图片描述
在这里插入图片描述

3.2 sql脚本

清除pgsql中的rc_user表,便于以后查看从sqlserver迁移过来的数据
在这里插入图片描述

3.3 表输入

数据库连接->表->sql语句->预览

服务器pgsql至本地sqlserver

只迁移了user_number user_name

pgsql: result user_number user_name -> sqlserver:demo_user user_id user_name

在这里插入图片描述

3.4 字段选择:

获取选择的字段->修改或移除

也可以直接在sql中筛选字段,这样更容易维护
在这里插入图片描述

3.5 表输出

选择要作为表输出的库和表

在这里插入图片描述

点击执行即可完成,数据迁移。

pgsql: result user_number user_name -> sqlserver:demo_user user_id user_name

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ETL工具——kettle实现简单的数据迁移 的相关文章

  • 【数据挖掘】知识点总结

    一 绪论 什么是数据挖掘 就是通过算法从大量的数据中搜索隐藏在其中的信息 数据挖掘的基本任务 聚类分析 异常检测 关联分析和预测建模 高维性和维灾难 随着维度的增加计算复杂度也随之增加 二 数据 不同的属性类型 标称 例如 邮政编码 定性数

随机推荐

  • 大数据应用——Linux常用的命令

    帮助命令 1 基本语法 help 命令 功能描述 获得shell内置命令的帮助信息 2 案例实操 1 查看cd命令的帮助信息 root hadoop01 help cd 常用快捷键 常用快捷键 功能 ctrl c 停止进程 ctrl l 清
  • Python(十五)读取Excel

    今天来实战演示如何封装读取Excel方法 第一步 准备一个Excel文件 sheet页命名为 login 学习技术交流群 704807680 第二步 编写代码找到Excel文件所在的文件夹路径 path os path dirname os
  • 机器学习算法——混淆矩阵(Confusion Matrix)之鸢尾花实例

    一 理论 什么是混淆矩阵 其实就是把所有类别的预测结果与真实结果按类别放置到了同一个表里 在这个表里我们可以清楚地看到每个类别正确识别的数量和错误识别的数量 混淆矩阵在什么情况下最好呢 答案是类别不平衡时 混淆矩阵是除了ROC曲线和AUC之
  • chatGPT高考作文

    百花齐放 春满人间 吹灭别人的灯 并不会让自己更加光明 阻挡别人的路 也不会让自己行得更远 这是一句古老而智慧的话语 告诉我们要尊重和包容他人 要与人和睦相处 要共同进步 同样的道理 也适用于文化的交流和发展 文化是一个民族的灵魂 是一个国
  • 华为OD机试真题-不爱施肥的小布

    题目描述 某农场主管理了一大片果园 fields i 表示不同果林的面积 单位 m 2 现在要为所有的果林施肥且必须在n天之内完成 否则影响收成 小布是果林的工作人员 他每次选择一片果林进行施肥 且一片果林施肥完后当天不再进行施肥作业 假设
  • C++复合类型

    1 数组 数组声明应该指出元素类型 数组名和元素个数 数组的初始化需要遵循以下规则 a 只有定义数组时才能使用初始化 此后就不能使用了 也不能将一个数组赋给另一个数组 int narray1 4 1 2 3 4 int narray2 4
  • 操作系统 实验二 银行家算法

    题目描述 已知进程 P0 P1 P2 P3 P4 有三类系统资源A B C的数量分别为10 5 7 在T0时刻的资源分配情况如下图所示 1 若进程P1请求资源 发出请求向量Request1 1 0 2 编写程序用银行家算法判断系统能否将资源
  • 【javascript-基础小练习】角度转弧度,已知角度90,转成弧度?

    角转弧度的公式为 jiao 180 pai hu 假设pai的值为 3 14
  • 数据库的事务及变量声明方法

    事务 简单来说事务就是为了保持数据一致性的一种手段 在事务中的sql语句作为一个整体一起向系统提交 要么都执行 要么都不执行 可以回滚到原来的状态 事务的语法 开始事务 begin tran 或者transaction 提交事务 commi
  • Spring为什么不推荐你使用@Autowired ?

    Spring为什么不推荐你使用 Autowired 我们总能发现当使用IDEA写代码的时候 Autowired注解会报黄 我们把鼠标悬停在上面 可以看到这个如下图所示的警告信息 当我们按住alt 回车键 idea就会帮我们修改成这样 我向来
  • 微服务架构

    3 注册中心与服务发现 前言 1 服务发现基础知识 1 1 注册中心与服务发现的联系 1 2 使用 DNS 与负载均衡器发现服务的弊端 1 3 云中的服务发现应该具备的特点 1 4 服务发现架构 1 5 服务治理的概念 1 6 服务注册的概
  • Linux服务器(centos7)中Word转换PDF,文档出现中文乱码或方格【亲测可用,已解决】

    提示 在centos服务器使用aspose word转换word文件为pdf的时候只有中文乱码或则方格 但是在win服务器上使用可以正常转换 本次文章主要解决字体缺失问题 目录 前言 一 在linux服务器上生成的pdf都是这种格式的 二
  • 信号和槽函数的扩展

    信号和槽函数的扩展 一个信号连接多个槽函数 一个槽函数连接多个信号 信号连接信号 一个信号可以连接多个槽函数 发送一个信号有多个处理动作 需要写多个connect 连接 槽函数的执行顺序和信号的发射顺序相同 QT5中 信号的接收者可以是一个
  • C++primer总结

    目录 第一章 数据处理 2 整形 2 第二章 复合类型 3 数组 3 字符串 4 枚举 5 指针 5 第三章 函数的使用 6 内联函数 6 默认参数 6 函数的重载 7 函数的模板 7 第四章 内存模型和名称空间 7 文件的单独存放 7 变
  • Transaction rolled back because it has been marked as rollback-only

    http hsyd iteye com blog 586772 错误信息 Transaction rolled back because it has been marked as rollback only 原因 事务提交多次 检查代码
  • 小程序无法获取头像和昵称(已解决)

    从基础库 2 21 2 开始支持 当小程序需要让用户完善个人资料时 可以通过微信提供的头像昵称填写能力快速完善 根据相关法律法规 为确保信息安全 由用户上传的图片 昵称等信息微信侧将进行安全检测 组件从基础库2 24 4版本起 已接入内容安
  • Python+Selenium+phantomjs实现网页模拟登录和截图

    Python Selenium phantomjs实现网页模拟登录和截图 本文全部操作均在windows环境下 安装 Python Python是一种跨平台的计算机程序设计语言 它可以运行在Windows Mac和各种Linux Unix系
  • C++ Primer 学习笔记 第十章 泛型算法

    标准库容器很小 并未给每个容器添加大量功能 而是提供了一组算法 这些算法大多数都独立于任何特定的容器 这些算法是通用的 或者说是泛型的 generic 可用于不同类型容器和元素 大多数泛型算法定义在头文件algorithm中 头文件numb
  • Linux 用户管理

    一 useradd命令 创建普通用户的 语法 c lt 备注 gt 加上备注文字 备注文字会保存在passwd的备注栏位中 d lt 登入目录 gt 指定用户登入时的启始目录 D 变更预设值 e lt 有效期限 gt 指定帐号的有效期限 f
  • ETL工具——kettle实现简单的数据迁移

    文章目录 1 Kettle概念 2 安装与启动 3 常用组件 4 具体案例 4 1 数据库连接 3 2 sql脚本 3 3 表输入 3 4 字段选择 3 5 表输出 1 Kettle概念 Kettle是一款国外开源的ETL工具 纯java编