暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Kettle操作数据库导出多Excel多Sheet

翻斗大乐园 2021-12-02
5256
点击蓝色字关注我们!




一个努力中的公众号

长的好看的人都关注了



前言


Kettle简介

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行, 数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

 

Kettle下载配置

 

Kettle官网:
https://sourceforge.net/projects/pentaho/files/Data%20Integration/

本文使用kettle版本为pdi-ce-7.1

2.1 打开上方官网连接、选择7.1版本

2.2选择下载ZIP版本、点击后跳转新页面,等待三秒会自动下载

2.3 因为Kettle是绿色免安装版本,所以下载以后的zip解压后,可以直接运行

Spoon.bat:在Windows平台上运行spoon;

Spoon.sh:在Linux、AppleOSX、Solaris平台上运行Spoon。

2.4 初步启动和使用可能出现的问题总结
2.4.1 Kettle是纯java编写,所以需要安装jdk配置环境变量。建议安装jdk1.8及以上环境。


2.4.2 Kettle默认启动配置是分配内存256G、数据量大、大对象时很容易出现内存溢出现象

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="-Xms2048m""-Xmx4096m" "-XX:MaxPermSize=512m"
复制


Kettle 使用

2.1 了解如何使用Kettle
   双击Spoon.bat 文件打开Kettle、界面如下图:
   Kettle的工作原理简单来说就是,先创建一个作业、然后创建对应具体业务操作(转换)、然后在作业中将转换串联起来工作,最终得到需要的数据/文件。

整个操作业务流程类似于工作流,从开始节点到完成。例如:


2.2 创建步骤

 窗口左上角点击文件、选择新建、新建转换

2.3 编辑配置转换

如上2.2操作后,窗口打开的就是新增的步骤(转换)左侧窗口中罗列的就是相关操作工具、右侧空白则是接下来步骤中要执行的操作。

在右侧窗口空白处鼠标右键即可进行设置转换、可以设置转换的名称、以及使用到的参数等

新增操作表输入


鼠标选择刚拖进去的表输入


然后进行设置、选择编辑步骤、设置步骤名称与数据库连接。


设置数据库连接的时候注意,需要单独下载对应数据库驱动jar包、不然会报错


数据库驱动jar包放在data-integration\lib 文件夹下



设置数据库连接后记得验证下


数据库连接设置好以后,就可以创建或执行对应的sql、sql编写完成后,可以点击预览查看结果。


表输入配置好以后、再添加一条作业(复制记录到结果),也就是将表输入的查询结果复制到结果中,然后再做后续操作。鼠标选择表输入、滑轮将链接关系到作业(复制记录到结果)上,即可绑定关系。


然后执行得到结果


Kettle 导出多Excel以及多Sheet

3.1 概述

整体流程如下图,共有四个节点:

开始-获取Excel名称与Sheet名称节点-读取对应Excel和Sheet数据并写入Excel文件-结束

3.2 获取Excel名称与Sheet名称节点
新建转换
创建:表输入、新建创建数据库连接,编写读取Excel名称与SheetSql


创建:复制记录到结果
获取Excel名称与Sheet名称节点如图:


3.3 读取对应Excel和Sheet数据并写入Excel文件

新建转换

右键空白区域,选择转换设置、添加所需的参数

创建:表输入、新建创建数据库连接,编写读取Excel名称与SheetSql


创建:Microsoft Excel 输出、右键编辑步骤、设置导出excel的格式


如果输出记录存在,覆盖已存在的单元格


滑动窗口至最下方,点击获取字段、获取导出到Excel的所有字段、如果字段不需要导出,那么单独删除行即可


读取对应ExcelSheet数据并写入Excel文件节点如图:

整体流程插入START与成功节点即可完成所有设置。


3.3 执行作业

执行流程、即可得到对应的Excel

查看日志输出

打开导出Excel存放的文件夹即可看到所有的Excel文件


如果对您有帮助 请点个关注,万分感谢
          

                                (QQ招聘群  710566091
                                 微信招聘群 请加图图微信)



文章转载自翻斗大乐园,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论