写给自己的Kettle笔记1

栏目: 数据库 · 发布时间: 7年前

内容简介:工具挺多,我先研究 kettle这个开源,基于java的解决方案。====================www.ayjs.net       杨洋    wpfui.com        ayui      ay  aaronyang=======请不要转载谢谢了。=========中文网:

ETL-数据抽取,转换,加载

工具挺多,我先研究 kettle这个开源,基于 java 的解决方案。

====================www.ayjs.net       杨洋    wpfui.com        ayui      ay  aaronyang=======请不要转载谢谢了。=========

中文网: http://www.kettle.net.cn

百度百科: https://baike.baidu.com/item/Kettle

下载地址: https://sourceforge.net/projects/pentaho/files/latest/download?aliId=137249511

外国官网: https://community.hitachivantara.com/docs/DOC-1009855

Pentaho报表: https://www.jianshu.com/p/e021c9c2a472

安装jdk 1.5以上(java运行环境)

写给自己的Kettle笔记1

我一直默认的下一步,安装完成,配置环境变量

编辑系统环境变量,编辑Path

分两段,不要写在一行

C:\Program Files\Java\jdk1.8.0_191\bin

C:\Program Files\Java\jdk1.8.0_191\jre\bin

写给自己的Kettle笔记1

在win10下写绝对路径。试过javahome的配置方式,会出错。。

不过我写了一个环境变量进去

JAVA_HOME

C:\Program Files\Java\jdk1.8.0_191

测试环境

写给自己的Kettle笔记1

运行Kettle

下载 好程序,运行

写给自己的Kettle笔记1

写给自己的Kettle笔记1

简单入门

连接数据库

双击转换,新建一个转换

写给自己的Kettle笔记1

然后,自动列出了核心对象

写给自己的Kettle笔记1

回到主对象树,双击DB连接(连接时出现错误,可能缺少对应数据库驱动,可以放入pdi-ce-8.2.0.0-342\data-integration\lib目录)

我自己mssql是2014的,创建了一个TestDapper数据库

写给自己的Kettle笔记1

很简单的两张测试表

查看一些DB属性

写给自己的Kettle笔记1

写给自己的Kettle笔记1

测试连接找不到

写给自己的Kettle笔记1

百度一下

下载:https://sourceforge.net/projects/jtds/postdownload

win10下,SQLServer 2014配置管理器,打开搜索,输入 SQLServerManager12.msc

2008的数据库,输入 SQLServerManager10.msc

然后解压获得 jtds-1.3.1.jar放入data-integration\lib文件夹下,

我还下载了sqljdbc42.jar

https://www.microsoft.com/zh-CN/download/details.aspx?id=11774

写给自己的Kettle笔记1

然后重启Kettle

这里我遇到个死活连不上的问题,我以为jdbc问题,然后下载了驱动,然后连接超时,我以为我配置错了,经过2个小时,结果是防火墙的问题。我这里本机测试,直接关闭防火墙了。

写给自己的Kettle笔记1

测试下,连接成功了。

写给自己的Kettle笔记1

表插入

(蓝色箭头表示拖动,红色点击)

写给自己的Kettle笔记1

双击表

写给自己的Kettle笔记1

写给自己的Kettle笔记1

按住shift键,从 查询用户列表 拖动到表输出上

写给自己的Kettle笔记1

新建一个目标库,把数据处理 然后塞到的地方,我的叫TestDapper2

写给自己的Kettle笔记1

新建了个AdvanceUsers

然后新建一个连接

写给自己的Kettle笔记1

目标模式,如果是Oracle选择用户,如果是 Mysql 不选择,Sqlserver我选择ado

在学习 SQL 的过程中,会遇到一个让你迷糊的Schema的概念。实际上,schema就是数据库对象的集合,这个集合包含了各种对象如:表、视图、存储过程、索引等。为了区分不同的集合,就需要给不同的集合起不同的名字,默认情况下一个用户对应一个集合,用户的schema名等于用户名,并作为该用户缺省schema。所以schema集合看上去像用户名。

如果把database看作是一个仓库,仓库很多房间(schema),一个schema代表一个房间,table可以看作是每个房间中的储物柜,user是每个schema的主人,有操作数据库中每个房间的权利,就是说每个数据库映射的user有每个schema(房间)的钥匙。

我们访问一个表时,没有指明该表属于哪一个schema中的,系统就会自动给我们在表上加上缺省的sheman名。在数据库中一个对象的完整名称为schema.object,而不属user.object。

在MySQL中创建一个Schema和创建一个Database的效果好像是一样的,但是在sqlserver和orcal数据库中效果又是不同的。

在SQL Server 2000中,user和schema总有一层隐含的关系,让我们很少意识到其实user和schema是两种完全不同的概念,假如我们在某一数据库中创建了用户Bosco,那么此时后台也为我们默认的创建了schema【Bosco】,schema的名字和user的名字相同。

在SQL Server 2005中,为了向后兼容,当用sp_adduser存储过程创建一个用户的时候,sqlserver2005同时也创建了一个和用户名相同的schema,然而这个存储过程是为了向后兼容才保留的,当我们用create user创建数据库用户时,我们可以用该用户指定一个已经存在的schema作为默认的schema,如果我们不指定,则该用户所默认的schema即为dbo schema,dbo房间(schema)好比一个大的公共房间,在当前登录用户没有默认schema的前提下,如果你在大仓库中进行一些操作,比如create table,如果没有制定特定的房间(schema),那么你的物品就只好放进公共的dbo房间(schema)了。但是如果当前登录用户有默认的schema,那么所做的一切操作都是在默认的schema上进行。

在Oracle数据库中不能新建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决,在创建一个用户的同时为这个用户创建一个与用户名同名的schem并作为该用户的缺省shcema。即schema的个数同user的个数相同,而且schema名字同user名字一一 对应并且相同

插入和更新

写给自己的Kettle笔记1

然后在数据库新建表Users2,字段和Users一样,现在假设Users是当天记录,Users2是历史记录,把Users的记录和Users2对比,没有的新增,有的更新记录

然后拖动关系,双击插入/更新

写给自己的Kettle笔记1

(在同一个数据库中操作的,表目前是我们手工创建的)

单击确定

写给自己的Kettle笔记1

新建一个作业

写给自己的Kettle笔记1

写给自己的Kettle笔记1

我双击Start

写给自己的Kettle笔记1

双击转换,可以选择刚刚创建的ktr,转换文件

写给自己的Kettle笔记1

点击确定

然后建立关系(按住Shift 拖放)

写给自己的Kettle笔记1

写给自己的Kettle笔记1

点击运行

写给自己的Kettle笔记1

然后查看数据库

写给自己的Kettle笔记1

修改Users的第一条记录

写给自己的Kettle笔记1

然后执行作业

查看Users2

写给自己的Kettle笔记1

嫌每次对话框麻烦

写给自己的Kettle笔记1

这是当前库上的,你可以输出到其他库,或者其他文件形式等。

====================www.ayjs.net       杨洋    wpfui.com        ayui      ay  aaronyang=======请不要转载谢谢了。=========

先入门到这。

推荐您阅读更多有关于“kettle,etl,”的文章


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First JavaScript Programming

Head First JavaScript Programming

Eric T. Freeman、Elisabeth Robson / O'Reilly Media / 2014-4-10 / USD 49.99

This brain-friendly guide teaches you everything from JavaScript language fundamentals to advanced topics, including objects, functions, and the browser’s document object model. You won’t just be read......一起来看看 《Head First JavaScript Programming》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具