用kattle将数据从SQLserver中导入到vertica中

今天简单的学习了一下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设置为启动状态

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

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

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

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

需要对应java版本的驱动:

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

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

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

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

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

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

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

打开输入:

添加表输入

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

添加到右边的空白处。

按shift键将两者连起来。

双击表输入:

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

双击插入/更新

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

启动程序:

查看结果:

posted @ 2017-12-06 22:47  青春在夕阳下奔跑  阅读(713)  评论(0编辑  收藏  举报