Kettle和ETL
文章平均质量分 62
清平乐的技术博客
学如逆水行舟,不进则退。
展开
-
kettle连接数据库sqlserver、MySQL、Hadoop等
一.注意(1)kettle支持连接关系型数据库和hive、impala等大数据组件。如果要连接数据库,底层kettle的目录下应该安装对应的驱动jar包,否则会报缺少驱动错误。例如:连接mysql5.7,要事先下载mysql的jdbc驱动包,所以我们要下载该jar包 (jar包下载详见附录)下载好后,解压该文件将文件夹中的mysql-connector-java-5.1.48-bin.jar文件复制到kettle所安装的data-integration\lib下即可。驱动下载地址:https:原创 2021-07-07 11:52:54 · 2381 阅读 · 0 评论 -
Kettle组件_获取系统信息
简介通过获取系统信息控件,我们可以获取系统的时间、转换或者作业的开始结束时间(用于增量)、主机信息、上一个作业完成情况和命令行参数等。通过类型的选择可以选择多种类型,这里我们选择命令行参数。数据准备这里以MySQL为例,当然也可以Excel本地输入-- ------------------------------ Table structure for saleorder-- ----------------------------DROP TABLE IF EXISTS `saleorder原创 2020-11-14 15:15:05 · 2181 阅读 · 0 评论 -
Kettle组件_JavaScript代码
//注意 从上一个模块引用的变量在代码中要显示的进行getString()转换var bytes = Packages.org.apache.commons.codec.binary.Base64.decodeBase64( F1.getString().getBytes() );var decString = new Packages.java.lang.String( bytes );var encString = new Packages.java.lang.String( Packages.原创 2020-11-13 17:18:37 · 1038 阅读 · 0 评论 -
Kettle组件_concat fields拼接数据
一、转换流程二、表输入1.mysql新建表结构2.表输入SQL三、Concat fields组件说明(1)Target Field Name:填写我们要新建的字段名称,自己随意起(2)Separator处:填写字段之间的拼接符号(3)在name、type、trim处,选择我们要拼接的字段、字段类型以及去空格的类型。(4)全部配置好之后点击确定。四、表输出选择输出的表和映射关系五、启动六、结果输出可以看到出现了新的字段,拼接起来了。...原创 2020-11-12 16:58:53 · 2766 阅读 · 0 评论 -
Kettle使用中的20个常见问题
Kettle源码下载地址:https://github.com/pentaho/pentaho-kettleKettle软件下载地址:https://sourceforge.net/projects/pentaho/files/Data%20Integration一、Linux中如何部署kettle:(以root用户操作为例)1、将window中正常使用的kettle的data-integration文件夹压缩成tar包;2、将tar包上传到linux的指定文件夹中去;3、利用tar命令将ta原创 2020-05-18 19:41:45 · 14960 阅读 · 3 评论 -
kettle环境变量的配置(永久+临时)
首先我们有两种方式去改变这个环境变量,一种是永久性,一种是临时性,一、 永久性配置永久性是在我们的C盘的,用户,用户名称下面的.kettle文件夹里面的kettle.properties配置基本上就是kv形式的 ,所以就没那么麻烦。前面就是我们的 k也就是需要代替的 IP地址截图示意一下、ok这个配置就完成,保存退出.重启spoon!务必重启!我们重启之后,再去建立与数据库的链接 ,那么这个问题 ,解决了,二、临时性配置下面是关于 一次性的配置,比较轻松简单,但是调用都是一样的原创 2020-05-18 18:28:37 · 2484 阅读 · 0 评论 -
BI项目中的ETL设计流程
ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析的依据。 ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败。ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更高,为项目后期开发提供准确的数据。ETL的设...原创 2019-08-06 09:44:44 · 717 阅读 · 0 评论 -
Linux下的部署kettle
一直以来服务器是linux系统,但是感觉linux图形化不强,于是从接触kettle以来都是在windows系统操作ETL的设计和处理。现在需要在linux中查看一下kettle资源库是否连接正常,以及在linux上调度kettle的job,就需要在Linux上配置kettle环境了。一.配置jdk环境[root~]# java -versionjava version "1.8.0_151...原创 2019-10-11 14:36:41 · 1078 阅读 · 2 评论 -
kettle效率提升
kettle 效率提升Kettle作为一款ETL工具,肯定无法避免遇到效率问题,当很大的数据源输入的时候,就会遇到效率的问题。对此有几个解决办法:1)数据库端创建索引。对需要进行查询的数据库端字段,创建索引,可以在很大程度上提升查询的效率,最多的时候,我不创建索引,一秒钟平均查询4条记录,创建索引之后,一秒钟查询1300条记录。2)数据库查询和流查询注意使用环境。因为数据库查询为数据输入...原创 2019-10-07 16:01:18 · 1173 阅读 · 0 评论 -
kettle学习笔记11—循环的使用*
通过循环功能可以实现批量加载数据等操作。1.遍历结果集实现(1)总体步骤创建作业和转换思路:返回一个结果集–>通过转换来实现新建作业,创建4个控件:start、转换、成功(2) 创建第一个转换–query_the_result新建转换-->命名为query_the_result-->设置控件:表输入、复制记录到结果并建立hop-->表输入中设置SQL,指定...原创 2019-08-17 15:19:14 · 699 阅读 · 0 评论 -
kettle学习笔记10—配置文件的使用
如果有很多个转换,我们每链接一次数据库,都需要重复的输入那些数据库地址、端口、用户名啊之类的。所以我们可以使用变量的方式,写在配置文件中,来避免这些重复性工作。1.配置文件的位置Windows下是在当前用户的目录下,一般再C盘,Users(用户)下面,有一个当前用户的文件夹,下面有.kettle文件夹,或者找到kettle的安装目录下进入文件夹:我们会看到一个kettle.propertie...原创 2019-08-17 15:10:35 · 1384 阅读 · 0 评论 -
kettle学习笔记09—将数据导出为Excel
既然是导出数据,说明我们肯定有一个源头,一个目标,源头是数据库目标是excel1.新建转换文件–>新建–>转换2.连接数据库点击转换里的DB连接–>新建–>输入相关信息进行连接3.新建表输入核心对象–>输入–>表输入双击进行编辑数据库连接:选择数据库SQL面板:输入SQL语句,需要查询的内容 例如:select * from user预览没...原创 2019-08-17 15:09:17 · 1332 阅读 · 0 评论 -
kettle学习笔记08—设置变量
1.变量的类型Kettle 的早期版本中的变量只有系统环境变量,新版本变量一般包括系统环境变量, “Kettle变量” 和内部变量三种系统环境变量的影响范围很广,凡是在一个 JVM下运行的线程都受其影响.Kettle变量限制了变量的作用范围, 变量范围包括三种分别是 grand-parent job, parent job, root job 内部变量是 kettle 内置的一些变量,...原创 2019-08-17 15:07:51 · 2570 阅读 · 0 评论 -
认识ETL数据分析流程
ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。常愈大量的数据、复杂的转换逻辑、目的端为较强运算能力的数据库,愈偏向使用ELT,以便运用目的端数据库的平行处理能力。一、商业BI中的应用ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的...原创 2019-07-10 16:39:26 · 2959 阅读 · 2 评论 -
kettle学习笔记01_简介和安装
kettle学习笔记01_简介和安装一、简介和安装1.简介Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和job,transformation完...原创 2019-08-16 10:54:54 · 201 阅读 · 0 评论 -
kettle学习笔记02_基本概念
一、相关知识Kettle工程存储方式有两种:一种是以XML形式存储,一种是以资源库方式存储。Kettle中有两类设计分别是:Transformation(转换)与Job(作业),Transformation完成针对数据的基础转换,Job则完成整个工作流的控制。Kettle常用三大家族:Spoon、Pan、Kitchen。Spoon:通过图形界面方式设计、运行、调试Job与Transform...原创 2019-08-16 11:14:53 · 303 阅读 · 0 评论 -
ETL数据抽取方案
ETL 过程中的主要环节就是数据抽取、数据转换和加工、数据装载。为了实现这些功能,ETL 工具会进行一些功能上的扩充,例如工作流、调度引擎、规则引擎、脚本支持、统计信息等。一、数据抽取数据抽取是从数据源中抽取数据的过程。实际应用中,数据源较多采用的是关系数据库。从数据库中抽取数据一般有以下几种方式:1.全量抽取全量抽取类似于数据迁移或数据复制,它将数据源中的表或视图的数据原封不动的从数 ...原创 2019-08-16 17:22:46 · 5122 阅读 · 1 评论 -
kettle学习笔记03_转换的使用和数据库连接
一.功能简介kettle主要由转换作为任务点,一个转换代表一次具体的任务,它可以做数据的同步以及很多很多功能。。。总之,他就是你想要完成某种操作的具体实施者。每一个环节可以通过鼠标拖动来将环节添加到主窗口中。 并可通过shift+鼠标拖动,实现环节之间的hop连接。二、新建转换我们用一个简单案例做一下吧1.文件–>新建–>转换2.数据库连接首先连接要操作的数据库(如果涉及...原创 2019-08-17 14:51:45 · 1650 阅读 · 0 评论 -
kettle学习笔记04_作业(job)
一.简介主对象树(Main Tree)菜单列出的是一个作业(Job)中基本的属性,可以通过各个节点来查看。DB连接:显示当前Job中的数据库连接,每一个Job的数据库连接都需要单独配置。作业项目(Job entries):一个Job中引用的环节列表Job entries菜单列出的是Job中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加。每一个环节可以通过鼠标拖动来将环节添加...原创 2019-08-17 14:54:16 · 491 阅读 · 0 评论 -
kettle学习笔记05—资源库的使用
资源库是用来保存转换任务的, 它用以记录我们的操作步骤和相关的日志,转换,JOB 等信息。用户通过图形界面创建的的转换任务可以保存在资源库中。资源库可以是各种常见的数据库,用户通过用户名/ 密码来访问资源库中的资源,默认的用户名/ 密码是admin/admin. 资源库并不是必须的,如果没有资源库,用户还可以把转换任务保存在 xml 文件中。一.资源库的用处(1)方便多人开发(和SVN、git...原创 2019-08-17 15:01:07 · 1635 阅读 · 0 评论 -
kettle学习笔记06—常用基本操作
1.启动方式Spoon.bat: 图形界面方式启动作业和转换设计器。 Pan.bat: 命令行方式执行转换。 Kitchen.bat: 命令行方式执行作业。2.转换和作业Kettle 的 Spoon 设计器用来设计转换(Transformation)和 作业(Job)。 •转换主要是针对数据的各种处理,一个转换里可以包含多个步骤(Step)。 •作业是比转换更高一级的处理流程,一个...原创 2019-08-17 15:04:01 · 332 阅读 · 0 评论 -
kettle学习笔记07—数据库报错处理
1.数据库连接报错解决办法,是链接相应的数据库的jar包没有加到Kettel中去。在百度或者以前的web项目中找个数据库的jar包。将MySQL-connector-java-5.1.18.jar复制到D:kettle5.1data-integrationlib下面,重新启动一次,这下就好了。再次测试,测试通过连接成功。2.数据传输乱码在数据库连接选项卡中,在选项中增加命名参数和值se...原创 2019-08-17 15:05:55 · 463 阅读 · 0 评论 -
8种开源的ETL工具
ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL 是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。我们在下方列出了7款开源的ETL工具,并讨论了从 ETL 转向“无 ETL”的过程...原创 2019-07-10 16:45:36 · 7587 阅读 · 0 评论