kettle

kettle 简介

眉间皱痕 提交于 2020-08-14 13:34:19
描述 Kettle是一款开源的 ETL 工具,采用 JAVA 语言编写。 特性 高效稳定,支持多种类型的数据格式,如:MySQL,Oracle,PostGreSQL,CSV 等。 可视化设计。 概念 Transformation(转换):数据抽取/迁移主要设计的对象,负责定义数据从数据源到目标地流动。各步骤并发执行。 Job(作业):支持组合多个转换,即流程控制,支持定时任务执行。各步骤按一定规则顺序执行,可定义为并行执行。 Step(步骤):最核心的概念,转换和作业都是由步骤组成,数据转换和数据清洗都是在步骤中完成,步骤是 Kettle 具体做事情的对象。 hop(跳):即连接,步骤与步骤之间的连接称之为跳。代表数据流量。 安装 Kettle 无需安装,下载压缩包后解压即可使用。 9.0.0版本下载链接: https://pan.baidu.com/s/1gnAhLiLtOyYDNbPIA7k9XQ 提取码:ey0c 产品 Kettle 主要包含4类产品,Spoon,Carte,Pan,Kitchen。 Spoon:可视化开发工具。可视化运行,监控等。 Carte:轻量级 Web 服务器,支持远程执行 Kettle 脚本。 Pan:命令行执行 Kettle Transformation 脚本。如:pan.sh file=xxx.ktr 。 Kitchen:命令行形式执行

Kettle 使用Impala遇到plugin id [IMPALASIMBA] couldn't be found!

强颜欢笑 提交于 2020-08-14 08:21:37
这个该死的问题查了我整整3天,差点就放弃了。kettle用的人不多,文档也不太全,源码又重又大。 需求是从Impala用SQL读取数据,写入MYSQL。 环境是: pdi-ce-7.0.0.0-25 Linux: CentOS7 连接的是Cloudera Impala,使用第三方JDBC jar包:ImpalaJDBC4.jar 在Windows环境下,使用spoon.bat编写的JDBC同步逻辑是可以使用的,没有问题。 在Linux下面,运行第一次的时候,也可以正常运行,但是第二次运行后,就会报: Error reading object from XML file Unable to load database connection info from XML node Unable to create new database interface database type with plugin id [IMPALASIMBA] couldn't be found! 根据baidu某帖子,删除$KETTLE_HOME/system/karaf/caches 下的内容后,就可以顺利执行。 但是你不可能每次运行kettle作业都删一次本地缓存,这样并发进程的时候可能会出现bug。 怀疑是karaf这个OSGi容器生成的bundle有问题,思路就是不让它生成缓存文件就是了。据了解

KETTLE-Hadoop文件数据抽取及输出

孤街浪徒 提交于 2020-08-13 06:29:43
一、需求说明 将源表(T_USER)中的用户信息同步到Hadoop中,然后再抽取Hadoop文件中数据到文本文件中。 二、启动kettle 双击 Spoon.bat 就能启动 kettle 。 三、创建转换 1.Hadoop集群配置说明 首先需要从hadoop集群中(/../hadoop-3.1.2/etc/hadoop)复制core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml文件到shim文件夹中(..\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\cdh514),替换已有的文件。 注意要修改这些配置文件。比如hadoop节点的地址是不是正确等。由于core-site. xml 里面用的 hostname 连接的,而我们配置的时候用的 ip,所以需要修改core-site.xml为ip,然后重启Spoon。 由于Hadoop权限管理是弱管理,此处用户名和密码可以缺省。不过往Hadoop创建文件需要进行权限鉴证,所以此处修改Hadoop中的core-site.xml文件如下所示,表示不经过任何验证,所有用户拥有全部权限。(修改此配置需要重启hadoop): <property> <name>hadoop.security

KETTLE完全分布式集群搭建和示例

吃可爱长大的小学妹 提交于 2020-08-12 23:24:58
一、Kettle的集群原理 完全分布式即是在该集群环境中所有的kettle服务都是部署在不同的机器上,互相之间没有影响。此处以一个真实环境为例,来介绍kettle完全分布式环境的开发使用。生产环境中kettle服务器都是部署在linux服务器上,在windows本地开发好kettle任务,然后在linux集群环境上运行。 二、完全分布式集群搭建 1.环境规划 该环境模拟一台主服务器,两台从服务器的方式。 2.环境准备 首先需要先准备三台linux服务器,并且分别在三台机器上安装好jdk和kettle。 (1)JDK安装 此处不做详细介绍,可参考网上安装文档。 (2)Kettle安装 创建一个目,将下载好的kettle解压后放在该文件夹下。 测试安装是否成功 在kettle的data-integration目录中执行kitchen.sh文件,若出现帮助信息,证明安装成功 3.环境配置 和windows环境一样修改kettle配置文件,打开kettle的安装目录,进入到data-integration->pwd目录,找到carte-config-master-8080.xml文件。该文件主要是进行master主机配置,name、hostname、port依次配置名称、主机IP和端口号(如果已经使用可以修改)。 注意:username和password并不是指主机的登陆账号和密码

KETTLE实现邮件告警

扶醉桌前 提交于 2020-08-12 10:10:11
一、需求说明 Kettle作业执行完成并发送成功信息邮件通知数据装载成功。 二、启动kettle 双击 Spoon.bat 就能启动 kettle 。 三、创建作业 说明:本次测试是基于之前的转换案例“案例一”进行创建,主要是通过抽取数据进行映射后,然后装载到数据库中。 1.新建一个作业 2.从左侧依次拖动 START 、转换、邮件通知、成功到右侧,并用线连接起来 3.双击“邮件”进行设置,在“地址”页签输入“收件人地址”、“发件人”相关信息。 4.对“服务器”页签进行设置之前需要先对新浪邮件服务器进行设置。登录163邮箱,打开设置,可以看到POP3/SMTP/IMAP: 5.开启客户端授权码设置,需要发短信进行验证 设置授权码,在kettle上面登录使用就是输入下面的密码,而不是输入登录密码 设置服务器,SMTP服务器和端口根据邮箱来设置,此处以163邮箱为例 设置邮件消息,可以设置日期、消息主题等。 设置附件,设置附件之前需要先对转换进行设置,设置日志地址和名称。右击转换,选择“编辑作业入口”。 设置日志文件名和路径、后缀名,选择日志级别。 设置附件,勾选“带附件”,文件类型选择“日志” 至此,该任务创建完成,点击运行,完成后登录邮箱查看邮件如下所示: 注意:想要学习通过kettle工具实现hadoop、hive、hbase数据库抽取输出,和其他更多关于kettle的知识

彻底搞清 Kettle 数据分发方式与多线程

邮差的信 提交于 2020-08-11 04:50:57
目录 1. 分发方式 (1)输入两线程,输出单线程 (2)输入单线程,两个输出,一个单线程、另一个两线程 (3)输入单线程、两个输出均为两线程 (4)所有步骤均为两线程 (5)输入步骤为两线程,输出步骤为四线程 2. 复制方式 (1)输入两线程,输出单线程(图4) (2)输入单线程,两个输出,一个单线程、另一个两线程(图6) (3)输入单线程、两个输出均为两线程(图8) (4)所有步骤均为两线程(图10) (5)输入步骤为两线程,输出步骤为四线程(图12) Kettle转换中,各步骤之间行集(row set)的发送有分发和复制两种方式,本文讨论这两种方式的区别,以及它们与Kettle多线程的关系。我们用一个简单的例子辅助说明,Kettle版本为8.3。定义一个转换,以t1表作为输入,输出到表t2和t3。t1表中有1-10十个整数。当创建第二个跳(hop)时,会弹出一个警告窗口,如图1所示。 图1 表输入步骤将向两个表输出步骤发送数据行,此时可以选择采用分发或复制两种方式之一,缺省为复制方式。分发方式执行后,t2、t3表的数据如图2所示。 图2 复制方式执行后,t2、t3表的数据如图3所示。 图3 区别一目了然,分发是将数据行依次发给每个输出跳,而复制是将全部数据行发送给所有输出跳。目前这个转换中的所有步骤都以单线程执行。下面看一下多线程的情况。 1. 分发方式 (1)输入两线程

Kettle最新版本8.X详解

◇◆丶佛笑我妖孽 提交于 2020-08-09 15:55:51
该课程总共22讲,分为五个部分。第一部分是课程介绍,对该课程需要使用的工具和课程规划进行一个简单的介绍。第二部分主要介绍kettle工具的安装和相关概念的介绍,并通过一个kettle小案例带领大家入门。第三部分主要讲解kettle工具各种控件的使用。第四部分则讲解kettle工具的一些高阶应用功能。第五部分给大家讲解kettle的实战综合案例。每次课程都是通过案例进行讲解,并提供详细的教案文档。整个讲解深入浅出,通俗易懂。 第一章:kettle课程介绍 0、Kettle最新版本8.X课程整体介绍 第二章:kettle简单介绍和示例 1、Kettle安装及基本介绍 2、第一个Kettle小例子(oracle2oracle) 第三章:kettle简单案例分享 3、Kettle实现文本文件抽取及输出 4、Kettle实现Xml文件抽取及输出 5、Kettle实现Excel文件抽取及输出 6、Kettle实现Hadoop文件数据抽取及输出 7、Kettle实现Hive数据库抽取及输出 8、Kettle实现HBase数据库抽取及输出 9、Kettle实现调用WebService服务返回Json和xml数据 10、Kettle实现调用Restful服务返回Json和xml数据 第四章:kettle高阶应用讲解 11、Kettle参数、变量使用简介 12、Kettle排序、去重和分组 13

kettle 一个未预期的错误发生在Spoon: probable cause:在停止Spoon前,请先关闭其它spoon

无人久伴 提交于 2020-08-09 14:43:08
For input string: "!System.Combo.Primary!" java.lang.NumberFormatException: For input string: "!System.Combo.Primary!" 百度谷歌一大堆,没有一个解决问题,折腾了我好久. 最终解决方法: 删除C:\Users\你的用户.kettle文件夹下的所有文件! 来源: oschina 链接: https://my.oschina.net/u/4434986/blog/4313019