今天简单的学习了一下ETL工具kattle了,只是简单的上手,不过这也已经够我去做POC了。

首先大体介绍一下kattle,Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。因为有客户在使用这个,为了跟客户交流时不至于不懂,所有今天就稍微弄了一下,还行,基本能完成我的工作。

首先在kattle官网下载kattle,然后解压文件,打开里面的spoon.bat就可以运行它了,很简单。

现在我是有这样的需求的,需要将SQLserver的数据在不用导出的情况下直接导入到vertica中,以前也一直有这样的需求,今天刚好,稍微学习一下,以后弄起来就方便了。因为需要跟vertica和SQLserver连接,所以同时需要下载vertica的jdbc和SQLserver的jdbc,这个需要准备好,还有可能需要jtds.jar包,如果没有的话,会在使用的时候报错的。所以提前将其下载下来。具体的下载地址我就不附上了,随便搜搜就能找到。那就将今天我所整理的简单说一下。

在进行数据库连接的时候遇到一些问题,现在是解决方法:

1、sqlserver数据库

    首先安装好sqlserver服务器:

为了能远程连接,在sqlserver配置管理器中需要将SQL Server browser设置为启动状态

1.png

如果无法设定,那就在服务中先将该服务设置为手动启动,再在配置管理器中启动该服务。

2.png

然后将配置管理器中将TCP/IP协议启动。

3.png

并将端口输入,重启服务。

5.png4.png

由于kattle需要sqlserver的驱动,在网上下载sqlserver的驱动程序:

需要对应java版本的驱动:

5.png

将其放入到kattle的lib目录下。

有时候发生无法找到jtds.jar包,这时候就需要下载该jar放到lib目录下。

6.png

在kattle中新建一个转换,在转换中新建一个DB连接。

7.png

输入连接名称,主机名称,数据库名称(输入一下的数据库名称才正确),实例名称,用户名和密码,测试。

8.png

9.png

再新建一个vertica连接,下载对应的vertica驱动程序并放在lib目录下:

10.png

输入主机名,数据库名称,用户名,密码,测试连接

C3E77C76-E060-43BB-A7F3-F118CA72EEF9.png

在核心对象中找到输入和输出

12.png

打开输入:

添加表输入

13.png

打开输出:添加插入和更新

14.png

添加到右边的空白处。

按shift键将两者连起来。

15.png

双击表输入:

16.png

选择数据库,点击获取SQL查询语句,选择某张表。可以先预览看看是否有数据。点击确定。

双击插入/更新

17.png

选择数据库连接,目标表,获取字典,获取和更新字段,点击SQL ,执行创建表语句,确定。

18.png

启动程序:

19.png

查看结果:

20.png