【Kettle教程】三、Kettle环境配置-kettle.properties

技术标签: Kettle教程  数据库  java  大数据  linux  python

一、全局属性设置

  在设计Kettle脚本之前有一个疑问,既然需要Kettle脚本完成某类数据的处理操作,我们就需要配置一些数据源信息,比如数据库连接信息、服务地址信息、Mq连接信息等等,这些信息如果每次设计脚本时都写死在Kettle脚本里就显得太蠢了,所以最好可以将这些内容统一配置在某个文件中,让Kettle脚本能够自动获取。
  尽管Kettle提供了各种文件的读取控件,可以迅速实现配置读取功能,但Kettle还是为我们提供了这样一个配置文件——kettle.properties,通过他我们可以将一些通用的配置信息存储起来,然后在脚本设计中,通过某种方式引用进来。

二、kettle.properties

  在前面章节中,我将Kettle工具解压至本地D盘目录下,此时工具还尚未运行过,当JRE环境配置完毕并且顺利打开Spoon编辑工具后,会在C盘用户目录下生成一个类似如下的文件夹:.kettle
在这里插入图片描述
  双击打开.kettle文件夹,就会找到一个配置文件——kettle.properties(在此目录下还会遇到一些其他文件,皆为Kettle工具缓存文件,无需关注),图中我简单了配置一个数据源信息,这样在开发脚本时,就可以引用这些参数,通过${}符号引用即可,这点我们在后续脚本开发过程会经常遇到(密码信息不建议使用明文,Kettle为我们提供了加解密方法,在后续章节中会进行介绍):
在这里插入图片描述
  注意:kettle.properties为全局参数配置文件,启动Spoon时会自动读取本文件中的全部内容至内存中,所以如果在kettle运行过程中手动修改了这个配置文件,则需重启Spoon才会生效。

三、KETTLE_HOME

  上述内容中,“.kettle”文件夹是自动在用户目录下生成,但如果在环境变量中配置一个变量KETTLE_HOME,值指定为工具安装目录,那么Spoon启动时识别或是生成Kettle.properties的路径将以这个路径为主,如下图所示。在路径中我指定目录为工具的同级目录D:\KettleTool\config,这样".kettle"文件夹的路径将会变为D:\KettleTool\config\.kettle在这里插入图片描述
  由于需要单独配置KETTLE_HOME环境变量才能指定.kettle的所在路径,这对单独使用工具来说还是不够友好,所以这里在spoon.bat同级目录下,写个环境变量设置脚本,来一键配置Kettle相关环境变量,这里我们顺便将上一节中提到的JRE环境路径也一起设置,bat代码如下:在这里插入图片描述
  执行了上述脚本后,双击Spoon.bat启动工具,此时进入到D:\KettleTool\config路径下,就能看到.kettle文件夹及其中的kettle.properties了。

四、总结

  本章主要介绍全局参数配置文件kettle.properties相关内容
  重点注意配置文件修改内容后,需要重启Kettle才能重新载入。

来源:网络


智能推荐

kettle 教程

https://blog.csdn.net/qqfo24/article/details/82190535 介绍 kettle 是纯 java 开发,开源的 ETL工具,用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。 安装 这边以 windows 下的配置为例,linux 下配置类似。 jdk 安装及配置...

kettle连接集群环境配置

                原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。 深蓝的blog:http://blog.csdn.net/huangyanlong/arti...

【Kettle】Kettle入门解析(三)

(图片来源于网络,侵删) Kettle实战1(将csv数据输出为Excel数据) 原始数据: user.csv 转换后数据: user_csv2excel.xls Kettle实战2(将json数据输出为Excel数据) 部分原始数据: user.json 转换后数据: user_json2excel.xls Kettle实战3(将MySQL数据输出为Excel数据) 原始数据:stu1表 转换后...

kettle 教程(三):条件判断 Switch Case

我的博客原文地址:http://www.yujunyi.com/kettle/590.html 欢迎访问 介绍 Switch / Case,顾名思义,类似 Java 中的 Switch / Case,用于进行条件判断。是 kettle 中一个非常常用组件。 使用起来也非常简单,我们直接来看例子。 场景介绍 有一个 user 表,表中数据如下: 我们需要对 code 字段进行判断,如果不为空,则将数...

kettle环境变量的配置问题

这篇文章主要介绍的就是关于kettle环境变量的问题,具体实现就是简化数据库名字来说吧,我感觉没啥卵用,但是还是要说一下 首先我们有两种方式去改变这个环境变量,一种是永久性,一种是临时性, 永久性是在我们的C盘的,用户,用户名称下面的.kettle文件   okok,那么这个点开之后,发现有很多文件 我只打开我需要的文件,之后进行配置   配置基本上就是kv形式的 ,所以就没那...

猜你喜欢

Kettle安装及配置运行环境

Kettle安装及使用 1、 kettle安装 1.1  kettle下载 直接进入kettle官网,官网地址(http://community.pentaho.com/projects/data-integration/ ), 如图,点击1,下载当前最新版本;点击2,可选择以前的版本 下载路径,及目录名称,该路径可以自定义,放在自己熟悉的文件夹下即可。 1.2  j...

RF简单操作学习

1、创建一个项目: 点击File -> New Project,创建一个新项目如下图: 这里选择directory,是因为它类似与一个文件夹,可以在里面创建多个测试套件,如果想选择file,就相当于一个文件,里面只能输入测试用例,而不能创建测试套。 2、创建测试套: 如上,创建好新项目后,新项目上右击鼠标,点击New Suite,创建测试套如下: python3.8支持的ride最新版本,貌...

推荐Android常用的比较好的插件

Android studio 安装插件步奏:File --> Settings -->Plugins -->Browse repositories -->输入你要安装的插件 1.Color Manager:安装以后效果图如下: 2.Cmake simple highlighter : ndk开发时用到 3.Android Dialog 4.Alibaba Java Codi...

浅谈vue项目进阶开发-样式篇

1.全局sass的引入 项目开发时,引入全局基本样式,是必要的。如何引入就不再赘述,度娘知道:https://blog.csdn.net/qq_31393401/article/details/80759535; 全局样式包括:reset.scss里包括哪些相信应该都清楚,其次base.scss内可以根据需求加一些基础可适用的样式,如input,button。利用scss预处理样式的优势定义一些样...

java源码学习之 ReentrantLock内部实现类AQS

今日心情:气温降到零下十八度了,开车来的公司。十公里路程足足开了一个半小时,心都碎了。 如果内容有错误或者您有不同的见解,请关注我。想要思维导图的小伙伴们记得留言哦。 详细内容以及脑图链接地址:https://zhuanlan.zhihu.com/p/342500321/ 先上总结:在实现锁的时候通常会使用内部类实现AQS中的方法,而且这些方法必都是须要实现的。 为啥叫重入锁呢?因为同一个线程可以...

问答精选

Mysql - Table structure

I want to implement a counting system as follows Just see, (test_id,email_id, attempt_count, subject) forms unique row. I want to insert a row for each test attempt. So attemptCount must be incremente...

Shell scripting and -e parameter

I'm writing a shell script that create a database and store values into keys in a database.file. I got a test that catched my attention and i'm wondering why this is happening. The expected behavior w...

SLIM Framework post variables always null

I am using SLIM Framework with a simple post route function like: and want to get the post variables, but if I sent a post request with the Advanced Rest Client for Chrome like the following: the resu...

Generate random release name bamboo

I'm trying to generate a random release-name by using the Bamboo Server's deployment project / plan. I was able to generate a dynamic version number by using variables (defined the bamboo.release_numb...

Regular expression to generate a conditional push

INPUT OUTPUT: I wish to generate an array while keeping the order given by column 2 from input file. In this example, since there is no line in which column 2 = 3, I wish to push with " ". T...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答