ETL工具Kettle

news2024/12/24 3:40:02

1 Kettle的基本概念

一个数据抽取过程,主要包括创建一个作业(Job),每个作业由一个或多个作业项(Job Entry)和连接作业项的作业跳(Job Hop)组成。每个作业项可以是一个转换(Transformation)或是另一个作业。一个转换由一个或多个步骤(Step)和连接步骤的(Hop)组成。

转换主要用于数据的抽取(Extraction)、转换(Transformation)以及加载(Load),比如读取文件、过滤输出行、数据清洗或加载到数据库等步骤。一个转换包含一个或多个步骤,每个步骤都是单独的线程,当启动转换时,所有步骤的线程几乎并行执行。步骤之间的数据以数据流方式传递。所有的步骤都会从它们的输入跳中读取数据,并把处理过的数据写到输出跳,直到输入跳里不再有数据就终止步骤的运行;当所有步骤都终止了,整个转换就终止了。由于转换里的步骤依赖前一个步骤获取数据,因此转换里不能有循环

相较于转换,作业是更加高级的操作。作业由一个或多个作业项(作业或转换)组成。所有的作业项是以某种自定义的顺序串行执行的。作业项之间可以传递一个包含了数据行的结果对象。当一个作业项执行完成后,再传递结果对象给下一个作业项。作业里可以有循环

跳是步骤之间带箭头的连接线,它定义了一个单向通道,用于连接两个步骤,实现将数据从一个步骤(写入数据到行集)流向另一个步骤(从行集中读取数据)。跳是两个步骤之间的被称为“行集”(Row Set)的数据行缓存(可以在转换设置中定义行集大小)。若行集满了,则向行集写数据的步骤将停止写入,直到行集里又有空间。若行集空了,则从行集读取数据的步骤就会停止读取,直到行集里又有可读取的数据行。跳对于向行集写入数据的步骤来说是输出跳,一个步骤可以拥有多个输出跳;跳对于从行集中读取数据的步骤来说是输入跳。

作业跳是作业项之间带箭头的连接线,它定义了作业的执行路径。

2 Kettle的基本功能

Kettle的基本功能包括转换管理作业管理。转换管理主要包括输入、输出、转换、应用、流程、脚本、查询、检验、作业、映射和批量加载等功能。作业管理主要包括通用、邮件、文件管理、条件、脚本、批量加载等功能。

3 安装Kettle

在Windows系统中打开浏览器,访问Kettle官网(https://sourceforge.net/projects/pentaho/),下载Kettle安装文件pdi-ce-9.1.0.0-324.zip。

把pdi-ce-9.1.0.0-324.zip解压缩到“D:\”目录下(或者也可以选择一个其他目录,比如“C:\”),会生成一个“data-integration”目录,该目录下就包含了Kettle。在data-integration目录里包含了Spoon的启动文件,即spoon.bat,双击该文件就可以启动Spoon,

4 数据抽取

1 把文本文件导入到Excel文件中
这里给出一个实例,演示如何使用Kettle把文本文件导入到Excel文件中,

具体包括如下步骤: 创建文本文件; 建立转换; 设计转换; 执行转换。

1.创建文本文件

在“D:\”目录下新建一个文本文件studentinfo.txt,其内容如图7-4所示,文件的第1行是字段名称,包括sno、name、sex和age,字段之间用“|”隔开,其余行都是记录,字段之间也是用“|”隔开。

2.建立转换

在Spoon主界面的“主对象树”栏目中,在“转换”上面单击鼠标右键,在弹出的菜单中点击“新建”。点击Spoon主界面左上角的“保存”图标,把这个转换保存到某个路径下并且名称为“text_to_excel”。

3.设计转换

在“核心对象”栏目中,在“输入”控件里把“文本文件输入”拖到右侧设计区域,然后在“输出”控件里把“Excel输出”拖到右侧设计区域,然后为这两个控件建立连线

放置文本文件输入和Excel输出两个控件

这里的连线就是前文介绍过的“跳”。为这两个控件建立连线的方法是,按住键盘上的Shift键,然后用鼠标左键单击“文本文件输入”控件图标,再用鼠标左键单击“Excel输出”控件图标,最后在其他空白区域单击鼠标左键,这样就建立了一条从“文本文件输入”到“Excel输出”的连线。

双击设计区域的“文本文件输入”控件,打开设置界面,点击“文件”选项卡,点击“文件或目录”右侧的“浏览”按钮,把studentinfo.txt文件添加进来,然后点击“增加”按钮,studentinfo.txt文件就会被增加到“选中的文件”中,增加后的效果如图7-8所示。

点击增加,成功添加文件,继续设置内容选项卡,修改分隔符和编码

获取字段

预览记录

双击设计区域的“Excel输出”控件图标,打开设置界面,在“文件”选项卡中,设置“文件名”为“D:\file”。

在“字段”选项卡中,点击界面底部的“获取字段”按钮,成功获取字段以后的效果,

然后把“sno”和“age”字段的“格式”设置为“#”。最后,点击“确定”按钮完成“Excel输出”控件的设置。全部设置完成以后,需要保存设计文件。

4. 执行转换

在转换设计界面中,点击三角形按钮开始执行转换,

在界面中点击“启动”,如果转换执行成功,

,在两个控件图标上都会显示绿色的勾号。

这时,到D盘根目录下就可以看到新生成的文件file.xls,可以使用Excel软件打开file.xls查看内容

这样,就完成了把文本文件导入到excel文件中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1145184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cookie技术

Cookie中文名称为小型文本文件,指某些网站为了辨别用户身份、进行会话跟踪而储存在用户本地终端上的数据。 Cookie是由服务器端生成,发送给User-Agent(—般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文…

wiresharak捕获DNS

DNS解析: 过滤项输入dns: dns查询报文 应答报文: 事务id相同,flag里 QR字段1,表示响应,answers rrs变成了2. 并且响应报文多了Answers 再具体一点,得到解析出的ip地址(最底下的add…

【Linux】虚拟机安装Linux、客户端工具,MobaXterm的使用,Linux常用命令

目录 一,安装Linux的centos7版本 具体安装步骤: 二,Linux常见的命令: 三、安装客户端工具 1、介绍 2、安装MobaXterm 3、换源 四、拍照功能 一,安装Linux的centos7版本 介绍: 具体安装步骤&#…

PTA L1-8 静静的推荐

PTA L1-8 静静的推荐 分数 20 全屏浏览题目 切换布局 作者 陈越 单位 浙江大学 天梯赛结束后,某企业的人力资源部希望组委会能推荐一批优秀的学生,这个整理推荐名单的任务就由静静姐负责。企业接受推荐的流程是这样的: 只考虑得分不低于 175 …

软考系列(系统架构师)- 2012年系统架构师软考案例分析考点

试题一 软件架构(架构风格对比、架构风格选取、架构设计过程) 【问题1】(12分) 请用200字以内的文字解释什么是软件架构风格,并从集成开发环境与用户的交互方式、集成开发环境的扩展性、集成开发环境的数据管理三个方…

Anaconda下载和安装

1.概述 1)包含conda:conda是一个环境管理器,其功能依靠conda包来实现,该环境管理器与pip类似。 2)安装大量工具包:Anaconda会自动安装一个基本的python,该python的版本Anaconda的版本有关。该…

进程(详解)

进程 进程PCB进程的定义进程的组成进程模式进程的状态进程的运行进程的创建进程的结束孤儿进程僵尸进程僵尸进程的危害 进程的创建pidforkwait案例 进程 PCB 从操作系统理解进程概念-------先描述,后组织 为了使参与并发执行的程序能独立的运行,必须为之…

经常遇到的问题

一个前端经常会遇到的问题 例如,我想要在一个项目里,监听所有的fetch请求,应该怎么办?又或者说,我想用别人封装好的方法,但是在它之前,需要经过一层处理、判断,然后再看情况是否调用…

如何隐藏woocommerce 后台header,woocommerce-layout__header

如何隐藏woocommerce 后台header,woocommerce-layout__header WooCommerce |Products Store Activity| Inbox| Orders| Stock| Reviews| Notices| breadcrumbs 在 functions.php 里添加如下代码即可: // Disable WooCommerce Header in WordPress Admi…

开启CETOS 裸奔了一年的服务器开启firewall防火墙

记录一下关于firewall,博主非运维专家或服务器专家。 背景 客户有一台裸奔运行了一年多的系统有公网但发现没有开防火墙,iptables和firewall均是关闭状态,通过扫描发现很多漏洞。根据客户要求对端口进行重新梳理且关闭不必要或有潜在风险的…

kubeadmin部署k8s1.27.4

kubeadmin部署k8s1.27.4 环境介绍 IP主机名资源配置系统版本192.168.117.170k8s-master2c2g200gCentos7.9192.168.117.171k8s-node12c2g200gCentos7.9192.168.117.172k8s-node22c2g200gCentos7.9 编辑本地解析且修改主机名 三台主机都要做 vim /etc/hosts配置主机名 mast…

软考系列(系统架构师)- 2013年系统架构师软考案例分析考点

试题一 软件架构(根据描述填表、ESB 定义和功能) 【问题1】(10分) 服务建模是对Ramp Coordination信息系统进行集成的首要工作,公司的架构师首先对Ramp Coordination信息系统进行服务建模,识别出系统中的两…

lesson2(补充)关于>>运算符和<<运算符重载

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 前言&#xff1a; cout和cin我们在使用时需要包含iostream头文件&#xff0c;我们可以知道的是cout是写在ostream类里的&#xff0c;cin是写在istream类里的&#xff0c;他们都是定义出的对象&#xff0c;而<< 和 >…

猴子吃桃问题--C语言

问题描述&#xff1a; 猴子第1天摘下若干个桃子&#xff0c;当即吃了一半&#xff0c;还不过瘾&#xff0c;又多吃了一个。第2天早 上又将剩下的桃子吃掉一半&#xff0c;又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天 早上想再吃时&#xff0c;就只剩一…

【AD9361 数字接口CMOS LVDSSPI】B 并行数据之CMOS 续

续【AD9361 数字接口CMOS &LVDS&SPI】B 并行数据之CMOS 数据总线空闲和周转周期 &#xff08;CMOS&#xff09; P0_D[11&#xff1a;0]和P1_D[11&#xff1a;0]总线信号通常由BBP或AD9361有源驱动。在任何空闲期间&#xff0c;两个组件都会忽略数据总线值。但是&…

抢占式调度是如何发生的

最常见的现象就是一个进程执行时间太长了&#xff0c;是时候切换到另一个进程了。那怎么衡量一个进程的运行时间呢&#xff1f;在计算机里面有一个时钟&#xff0c;会过一段时间触发一次时钟中断&#xff0c;通知操作系统&#xff0c;时间又过去一个时钟周期&#xff0c;这是个…

039-第三代软件开发-PDF阅读器

第三代软件开发-PDF阅读器 文章目录 第三代软件开发-PDF阅读器项目介绍PDF阅读器1 初始化PDF view2 qml 中使用3 创建模块 关键字&#xff1a; Qt、 Qml、 pdf、 LTDev、 本地 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项目结合了 QML&#xff08;Qt Met…

NNDL:作业五

习题4-1 对于一个神经元,并使用梯度下降优化参数w时,如果输入x恒大于0,其收敛速度会比零均值化的输入更慢. 证明&#xff1a; 激活函数以sigmoid为例。 神经元&#xff1a;有两层&#xff0c;线性层和激活层&#xff1a;yw*xb,然后y‘sigmoid(y)&#xff0c;也就是。 梯度…

[C++]——带你学习类和对象

类和对象——上 目录&#xff1a;一、面向过程和面向对象二、类的概念三、类的访问限定符和封装3.1 访问限定符3.2 封装 四、类的作用域五、类的实例化六、类的对象大小的计算七、类成员函数this指针7.1 this指针的引用7.2 this 指针的特性 目录&#xff1a; 类和对象是很重要…

Vue3问题:如何实现密码加密登录?前后端!

前端功能问题系列文章&#xff0c;点击上方合集↑ 序言 大家好&#xff0c;我是大澈&#xff01; 本文约3400字&#xff0c;整篇阅读大约需要6分钟。 本文主要内容分三部分&#xff0c;第一部分是需求分析&#xff0c;第二部分是实现步骤&#xff0c;第三部分是问题详解。 …