- 百度云下载地址
- Spoon.bat 闪退问题
- 数据库连接设置
- 资源库连接设置
- CDH 集群连接设置
- Kettle 小 Demo
环境
win10kettle8.3mariadb10.1
下载地址
链接:https://pan.baidu.com/s/1N3UFd1ePxNY0MZrvA8wfEg 提取码:y1qj
window安装与配置
解压pdi-ce-8.3.0.0-371.zip
运行:{KETTLE_HOME}\data-integration下的Spoon.bat
遇见闪退修改Spoon.bat文件
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m"修改为以下:if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx512m" "-XX:MaxPermSize=256m"
kettle中连接设置
连接数据库mariadb
双击转换按钮
依次点击主对象树、DB连接
右键DB连接新建,填写相应信息
如果显示以下内容说明kettle缺少数据库驱动
错误连接数据库 [154.8.210.176] : org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while trying to connect to the databaseDriver class 'org.mariadb.jdbc.Driver' could not be found, make sure the 'MariaDB' driver (jar file) is installed.org.mariadb.jdbc.Driver
- 将mariadb-java-client-2.4.2.jar放置在{KETTLE_HOME}\data-integration\lib目录下
- 重新打开kettle显示以下内容连接成功
创建资源库
点击connect
点击other repositories
设置资源库这里选择数据库资源库
设置资源库名称并点击数据库连接设置资源库
创建一个新的连接
数据库中新建kettle数据库
填写相应信息,红框中填写刚新建的kettle库
点击back
点击finish
出现这个画面创建资源库成功
验证:查看刚才创建的kettle库已经生成了46张表创建成功
连接资源库
用户名/密码 admin/admin
重设资源库密码
点击工具-资源库-探索资源库依次点安全、admin、修改、填写新密码、确定
hadoop cluster连接
软件cdh6.2
从CM管理页面在hive、hbase中下载配置文件
将文件中的以下内容复制到本地{KETTLE_NAME}\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\cdh61下core-site.xmlhbase-site.xmlhdfs-site.xmlhive-site.xmlmapred-site.xmlyarn-site.xml
其它{KETTLE_NAME}\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations
其中的文件夹名称可以改但是要跟cdh(或者其它文件夹)下的config.properties文件内的name名字保持一致
将cdh安装目录中的hive lib包下的hive*所有内容复制到{KETTLENAME}\data-integration\lib下有的文档说要把文件放到{KETTLENAME}\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\lib或者{KETTLE_NAME}\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\lib\client下。但是经过我测试发现只要放在主目录的lib下就行,如果还是显示driver问题,可以试试上面两个地方
右键hadoop clusters 新建new cluster填写一下内容
连接成功
oozie报红是因为服务没开 user home directory access如果报错是需要一下操作 在集群中切换到 su - hdfs 用户 hdfs dfs -mkdir /user/admin 创建kettle所属admin用户就可以了 如果显示黄色三角叹号跟配置文件(集群中文件)那些hostname有关
kettle操作
kettle日志记录
环境描述:现在一个项目有很多个作业,需要知道每次跑批后哪些ktr跑成功,哪些失败了
问题解决:下面是一个具体的操作流程
首先建立数据库表
CREATE TABLE test_1(id INT,NAME VARCHAR(10));INSERT INTO test_1 VALUES(1,'hsj');CREATE TABLE test_2(id INT PRIMARY KEY NOT NULL,NAME VARCHAR(10));
数据库表建立完毕之后,新建ktr,ktr示意图如下(正常写流程就好):
在上图界面右键--“转换设置”,可以看到如下界面:
上图中日志数据库连接为数据库日志表所存放数据库的连接,日志表名称随便命名 点击“SQL”,出现如下界面
点击上图中“执行”
日志表已经成功建立。接着执行测试
查询数据库日志表
SELECT * FROM ETL_LOG
以下是LOG_FIELD字段的值:
2019/09/04 09:20:30 - RepositoriesMeta - Reading repositories XML file: D:\data-integration\.kettle\repositories.xml2019/09/04 09:20:32 - RepositoriesMeta - Reading repositories XML file: D:\data-integration\.kettle\repositories.xml2019/09/04 09:20:40 - Spoon - Connected to metastore : kettleDB, added to delegating metastore2019/09/04 09:20:40 - RepositoriesMeta - Reading repositories XML file: D:\data-integration\.kettle\repositories.xml2019/09/04 09:22:46 - Spoon - Using legacy execution engine2019/09/04 09:22:46 - Spoon - 转换已经打开.2019/09/04 09:22:46 - Spoon - 正在打开转换 [test01]...2019/09/04 09:22:46 - Spoon - 开始执行转换.2019/09/04 09:22:46 - Spoon - 转换完成!!2019/09/04 09:32:43 - Spoon - Using legacy execution engine2019/09/04 09:32:43 - Spoon - 转换已经打开.2019/09/04 09:32:43 - Spoon - 正在打开转换 [日志记录]...2019/09/04 09:32:43 - Spoon - 开始执行转换.2019/09/04 09:32:44 - 表输出.0 - Connected to database [linkmysql] (commit=1000)2019/09/04 09:32:44 - 表输入.0 - Finished reading query, closing connection.2019/09/04 09:32:44 - 表输入.0 - 完成处理 (I=1, O=0, R=0, W=1, U=0, E=0)2019/09/04 09:32:44 - 表输出.0 - 完成处理 (I=0, O=1, R=1, W=1, U=0, E=0)END
本文首发于 GitChat,未经授权不得转载,转载需与 GitChat 联系。
阅读全文: http://gitbook.cn/gitchat/activity/5d9c03cf8a27a445a035b655
您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。