写给自己的Kettle笔记1

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

内容简介:工具挺多,我先研究 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,”的文章


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

查看所有标签

猜你喜欢:

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

领域驱动设计

领域驱动设计

埃文斯 / 赵俐、盛海艳、刘霞 / 人民邮电出版社 / 2010-11 / 69.00元

《领域驱动设计:软件核心复杂性应对之道》是领域驱动设计方面的经典之作。全书围绕着设计和开发实践,结合若干真实的项目案例,向读者阐述如何在真实的软件开发中应用领域驱动设计。书中给出了领域驱动设计的系统化方法,并将人们普遍接受的一些最佳实践综合到一起,融入了作者的见解和经验,展现了一些可扩展的设计最佳实践、已验证过的技术以及便于应对复杂领域的软件项目开发的基本原则。《领域驱动设计:软件核心复杂性应对之......一起来看看 《领域驱动设计》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具