转换的基本概念及操作

一个数据抽取主要包括创建一个作业,并且每个作业可以包括多个转换操作,此数据抽取操作可以通过kettle工具完成,也可以通过编写程序调用的方式实现。

转换是ETL解决方案中重要的组成部分之一,主要用于数据的抽取、转换以及加载等操作,其本质是一组图形化的数据转换配置的逻辑结构。一个转换包括一个或多个步骤,如读取文件、过滤输出行、数据清洗或将数据加载到数据库中等步骤。转换中的步骤是通过跳连接的。跳定义了一个单向通道,允许数据从一个步骤向另一个步骤流动。在Kettle中,数据的单位是行,数据流就是数据行从一个步骤到另一个步骤的移动。

双击kettle目录下的spoon.bat脚本,启动kettle工具,在工作栏处选择“文件”→“新建”→“转换”命令,创建一个转换,名称默认是转换1。

图 1 转换的核心对象

主对象树中的节点主要用于显示当前转换的运行配置参数、数据库连接、步骤以及节点连接(跳)等信息。单机树形列表的核心对象,切换到转换的核心界面。转换到核心界面。

图2  一个简单的转换例子

在kettle界面的工作区右击空白处,从弹出的快捷菜单中选择“新建注释”命令,并添加注释内容;然后单击“输入”,将“表输入”拖拽到kettle的工作区;单击“输出”将“文本文件输出”拖拽到kettle工作区;按住Ctrl键的同时选中“表输入”和“文本文件输出”并右击,从弹出的快捷菜单中选择“新建节点连接”命令,在弹出的窗口中选择“起始步骤”和“目标步骤”,单击“确认”按钮,建立“表输入”向“文本文件输出”的连接,具体效果如上图所示。

作业

大多数的etl项目都需要完成各式各样的维护工作。例如:传送文件,验证数据库的数据表是否存在等操作,这些操作必须按一定顺序完成由于转换时按并行方式执行,因此需要一个可以串行执行的作业处理这些操作。

一个作业包含一个或多个作业项并且这些作业都是以某种形式执行的作业的执行的顺序由作业项之间的跳和每个作业项之间的结果执行所决定。

图3   一个简单的作业例子

在Kettle主界面的工作区右击空白处,从弹出的快捷菜单中选择“新建记录”命令,并添加注释的内容;然后单击“通用”,将Start和“作业”依次拖曳到Kettle的工作区;单击“邮件”,将“发送邮件”也拖曳到Kettle的工作区;然后同时选中Start和“作业”右击,从弹出的快捷菜单中选择“新节点”命令,建立Start和“作业”之间的连接,再通过同样的操作将“作业”与“作业”、“作业”与“发送邮件”之间也建立连接。具体效果如上图。

图4  对作业项进行重命名

图5  MySQL数据库连接配置

《数据清洗》——kettle基本工具的使用相关推荐

  1. 数据清洗、可视化工具

    数据清洗.可视化工具,阅读笔记 数据清洗 为什么需要清洗? 数据来源不一导致出现 (1)格式不同 (2)数据冗余 (3)没有统一标准,描述方式 (4)数据合并方式不同 数据清理工具: (1)IBM I ...

  2. python数据清洗工具、方法、过程整理归纳(一、数据清洗之常用工具——numpy,pandas)

    文章目录 1 背景 2 常用工具 2.1 numpy 2.2 pandas 1 背景 数据清洗是整个数据分析过程的第一步,也是整个数据分析项目中最耗费时间的一步: 数据分析的过程决定了数据分析的准确性 ...

  3. ETL数据清洗Kettle工具

    文章目录 一.简介 二.资源库(新建.管理) 三.转换 1. 新建数据源 2. 简单的输入输出 配置步骤 2.1 配置表输入 2.2 配置表输出 2.3 保存 2.4 启动与执行结果 3. 转换 1. ...

  4. kettle基本工具的使用

    一:kettle的安装 下载kettle安装包 Kettle的官网下载地址为Pentaho from Hitachi Vantara - Browse /Data Integration at Sou ...

  5. 数据清洗及OpenRefine工具

    数据分析中,首先要进行数据清洗,才可以继续训练模型,预测等操作. 首先介绍一下什么是数据清洗 数据清洗从名字上也看的出就是把"脏"的"洗掉",指发现并纠正数据文 ...

  6. kettle/Pentaho工具之阻塞数据直到步骤都完成

    我们在job和transformation开发中会有等待某一步完成后,再执行下一步的需求,在job作业中实现这一需求参考下面这篇文章: kettle(Pentaho)job作业并行都执行完后再执行下一 ...

  7. 数据清洗------kettle将txt数据转至数据库表中

    1.创建数据库表 CREATE TABLE `inputMediaData` ( `ID` bigint(20) NOT NULL AUTO_INCREMENT , `ProvideId` text ...

  8. Kettle PDI工具连接Mysql时报Driver class ‘org.gjt.mm.mysql.Driver‘ could not be found, make sure the ‘MySQL

    具体报错如下: org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while trying to connec ...

  9. 在ARM处理器架构下部署kettle etl工具注意事项

    测试机器一:华为鲲鹏920处理器,arm v8指令集,centos 7 arm版系统 测试机器二:天津飞腾ft1500a处理器,arm v8指令集,麒麟4.0 linux操作系统(类似于ubuntu ...

最新文章

  1. 遮挡也能识别?地平线提出时序信息提升行人检测准确度|​CVPR 2020
  2. java实现md5加密示例
  3. 一个IEEE论文LaTeX模板,可能较旧
  4. python百钱买百鸡问题算法_百钱买百鸡问题的伪代码算法?
  5. Supervisor使用教程
  6. Hadoop学习:Map/Reduce初探与小Demo实现
  7. 排序(Sort)--【一】
  8. 【算法分析与设计】快速排序
  9. Python写简单的TCP服务器
  10. centos7 开机启动文件路径_centos7定时运行python脚本
  11. sql2019更改了表的部分字段设计出现不允许保存更改解决方案
  12. 电脑上怎么截图按什么键?电脑截图的快捷键是什么?
  13. 小程序中集成赞赏功能
  14. 爬取豆瓣音乐Top250详细教程
  15. java获取显示器屏幕大小
  16. 微信官方支付接口配置教程
  17. 提取KML文件上 点 的经纬度
  18. GDAL python教程基础篇(2)——用OGR写入矢量数据
  19. 游匣G15怎么样?游戏本性价比首选种草
  20. 【Matlab通信】DTMF双音多频电话拨号仿真【含GUI源码 805期】

热门文章

  1. throws和throw的作用
  2. Liquibase学习4 - 管理changelog
  3. 弱网测试之NEWT(Network Emulator Toolkit)
  4. python 量化交易:MACD指标双金叉形态识别
  5. 解决Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING
  6. 惠普linux进入bios设置u盘启动,如何进入bios设置,手把手教你惠普如何进入bios设置u盘启动...
  7. python——常见运算符号
  8. git之小乌龟,或者小王八,如何使用小乌龟来将已push的代码回撤
  9. 自动机器学习-AutoGluon: AutoML for Text, Image, and Tabular Data
  10. 链路聚合|静态,动态配置|华为,思科配置|聚盒~