kettle

过去的2017和已经到来的2018

扶醉桌前 提交于 2020-05-05 22:06:02
忙碌且充实的2017年 一、写个前言    看看博客园,好多园友都在写年终总结和下年计划,无法抚平心中的冲动,不写写总结,不写写规划,总感觉还不如一条咸鱼。 二、关于工作    目前任职于山西某大型超市信息中心,懂点业务,会点技术,算是尽心尽职且忙忙碌碌的一年,除了日常工作外,重点参与了两个项目:     1、数据报表项目,通过项目学会了Kettle、SSIS工具传输数据;     2、新零售转型项目,项目依然在进行中,项目中主要和第三方软件公司(厦门公司)的开发工程师对接接口,了解零售行业的园友们应该知道,无非就是些商品信息、库存、价格等基础资料;对接过程中,对厦门工程师的印象极好,敬业、专注;当然在对接过程自身水平还是有明显进步的,对平时接触不到的业务有所了解,当然T-SQL写的更溜了,哈哈。 三、关于生活    生活方面喜讯更多一点:     1、新房在年初装修好了,国庆的时候搬了进去。     2、小棉袄在11月初出生了,家里突然多了个小娃,手忙脚乱的。 四、关于读书    虽然干着IT边缘的工作,感觉在周围同事里水平算好的,但比起纯粹的开发或者专业人士,总是感觉差了点,有一种温水煮青蛙的感觉。应该好好的反思吧。    专业书籍     《收获,不止Oracle》(0.3,书写的通俗易懂,应该在2018年继续看完)               《图灵程序设计丛书:C

Kettle数据库配置抽离

泪湿孤枕 提交于 2020-05-04 09:56:50
在使用ETL工具Kettle时候,为了使作业或转换具有通用性,有时候,我们需要将数据库的连接配置从脚本或转换中抽离出来,下面介绍一种方案,该方案主要涉及的文件有: # 这两个文件,默认是在系统的用户目录下,如果配置了KETTLE_HOME环境变量,则spoon会去KETTLE_HOME的目录下加载这两个文件 <USER_HOME>/.kettle/kettle.properties <USER_HOME>/.kettle/shared.xml 共享数据库配置 在作业中,按照DB连接向导建立一个数据库连接,填入完整的数据库连接信息。 建立完连接,测试连接成功后,在该DB连接上点右键,选择“共享”。 完成上述共享操作后,就可以在以下文件中找到共享数据库链接的配置: <USER_HOME>/.kettle/shared.xml <?xml version="1.0" encoding="UTF-8"?> <sharedobjects> <connection> <name>test_db</name> <server>127.0.0.1</server> <type>MYSQL</type> <access>Native</access> <database>test_db</database> <port>3306</port> <username>testdb</username>

Kettle转换中文乱码

荒凉一梦 提交于 2020-05-02 12:29:23
背景:kettle转换,将oracle中数据导入到postgresql数据库中,中文乱码。 解决方法:在转换中,添加一个中间步骤-字段选择(转换里面找到字段选择) 在字段选择里面,选择和修改里面点击获取选择的字段,然后再元数据里面,再点击一下获取改变的字段,获取到字段后,在乱码字段后面encoding里面,设置编码(utf8或者gb2312,可以自行尝试),保存重新启动转换即可。 来源: oschina 链接: https://my.oschina.net/u/3822522/blog/4262011

kettle缓存清理

一笑奈何 提交于 2020-05-01 09:11:42
kettle启动时有时会加载缓存中的配置和数据,这个在启动日志中可以看出来,如果要它重新加载配置或者数据需要先清理缓存,命令如下: rm -rf ${KETTLE_HOME}/data-integration/system/karaf/caches/{kitchen,pan,spoon} 来源: oschina 链接: https://my.oschina.net/u/4413200/blog/4260076

kettle学习笔记(一)——入门与安装

廉价感情. 提交于 2020-04-28 12:14:35
一、概述   1.kettle是什么   Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。   更多介绍,参考kettle中文网: http://www.kettle.net.cn/   2.kettle四大家族   Chef(中文:厨师)、Kitchen(中文:厨房)、Spoon(中文:勺子)、Pan(中文:平底锅)     Chef—工作(job)设计工具 (GUI方式)     Kitchen—工作(job)执行器 (命令行方式)     Spoon—转换(transform)设计工具 (GUI方式)     Span—转换(transform)执行器 (命令行方式) 二、安装与配置     1.前置条件       JDK1.5+     2.下载       Data Integration (or Kettle) 7.1版本下载: https://sourceforge.net/projects/pentaho/files/Data%20Integration/7.1/pdi-ce-7.1.0.0-12.zip/download 。      其他版本可以通过在下载页选择     3.安装

Kettle解决方案: 第五章 ETL相关知识

匆匆过客 提交于 2020-04-25 05:54:17
早期, ETL知识作为BI系统的一部分来介绍. 后来在The Data Warehouse ETL Tooket一书中, 系统性的整理了ETL的相关内容, 形成了一篇"ETL里的34个子系统"的介绍, 总结了ETL项目面临的不同任务. 安装类型分类其实主要分为: 1抽取 对应原文子系统1~3 2清洗更正 对应原文4~8 3发布 34个子系统有13个属于这个范畴 4管理 对应原文22~34 5.1 抽取 从不同数据源抽取数据. 访问数据源的政策性风险, 安全性和性能都是挑战. 对应子系统1,2,3 (数据剖析, 增量数据捕获, 抽取系统) 5.2 清洗更正 数据加载到目标数据仓库之前所做的必要的清洗和更正工作. 例如处理用户的性别, 用新的数据类型来存储管理. 对应子系统4 (数据清洗和质量处理系统) 子系统5(错误事件处理) 子系统6 (审计纬度) 子系统7 (排除重复记录系统) 子系统8 (数据一致性) 5.3 数据发布 保证正确的更新/新增数据到目标数据库. 对应 子系统9 (缓慢变更纬度处理) 子系统10 (代理键生成系统) :增加序列之类的. 子系统11 (层次维度构建) 比如时间纬度, 地理纬度等 子系统12 (特殊纬度生成系统) : 杂项纬度, 小纬度,自定义纬度等 子系统13 (事实表加载) 单独出来是为了签到三种不同类型的事实表: 事务粒度事实表, 周期快照事实表,

ETL定义、四大模块及子系统说明

我只是一个虾纸丫 提交于 2020-04-25 04:16:03
ETL定义、四大模块及子系统说明 ——《Pentaho Kettle解决方案 》读书笔记 罗小川 目前公司正在进行数据仓库的建设的前期需求整理和项目启动阶段,想简单来谈一下自己对目前公司在用的 ODS的kettle ETL的理解,针对日常运维中遇到的问题结合本书介绍的ETL子系统的建立可以更好的解决目前我们公司ODS系统的运维和运行效率问题,同时对后期数仓ETL的整体设计和四大组建进行梳理,笔记中有些内容直接引用原书。 一、什么是 ETL ETL: 抽取、转换和加载。将数据从OLTP系统中转移到数据仓库中的一系列操作的集合。 抽取:一般抽取过程需要连接到不同的数据源,以便为随后的步骤提供数据。这一部分看上去简单而琐碎,实际上它是 ETL解决方案成功实施的一个主要障碍。 转换:在抽取和加载之间,任何对数据的处理过程都是转换。这些处理过程通常包括(但不限于)下面一些操作: 1.移动数据 2.根据规则验证数据 3.数据内容和数据结构的修改 4.集成多个数据源的数据 5.根据处理后的数据计算派生值和聚集值 加载:将数据机载到目标系统的所有操作。加载并不仅仅是将数据批量装载到目标表。加载过程还包括对代理键的管理和对维度表的管理等。 ELT(抽取、加载和转换)同ETL在数据整合的方法上略微不同。ELT下,数据首先从数据源进行抽取,加载到目标数据库中,再转换为所需要的格式

KETTLE集群搭建

▼魔方 西西 提交于 2020-04-22 18:46:14
KETTLE 集群搭建 说明: 本文档基于 kettle5.4 一、集群的原理与优缺点 1.1 集群的原理 Kettle 集群是由一个主 carte 服务器和多个从 carte 服务器组成的,类似于 master-slave 结构,不同的是 ’master’ 处理具体任务,只负责任务的分发和收集运行结果。 Master carte 结点收到请求后,把任务分成多个部分交给 slave carte 执行, slave 执行完毕后把结果交给 mater 进行汇总,再由 mster 返回结果。 1.2 集群的优点 和其它系统的集群一样,有以下优点: 1) 多服务器运行,加快处理速度,对于大数据量的操作更明显 2) 防单点失败,一台服务器故障后其它服务器还可以运行 1.3 集群的缺点 1) 采用主从结构,不具备自动切换主从的功能。所以一旦主节点宕机,整个系统不可用 2) 对网络要求高,节点之间需要不断的传输数据 3) 需要更多的服务器,而且主节点没有处理能力 1.4 适用场景 适合于: 1) 需求 kettle 能时刻保持正常运行的场景 2) 大批量处理数据的场景 二、集群搭建 2.1 配置子服务器 2.1.1 配置主服务器 打开 ketlle 目录 , 找到 pwd 目录,里面有 4 个 XML 文件,分别是子服务器的配置文件和密码文件: Carte-config-master-8080

kettle —— 从 oracle 到 oracle的坑

不羁的心 提交于 2020-04-22 02:50:54
  公司有个项目,是使用kettle从oracle上统计,再将结果跟oracle中目标表进行对比更新。接手后,走了一些弯路,中间各种尝试都不尽如人意,也学了kettle的一些组件的用法。正好趁着机会记录 一下。   一、背景:   需求其实很简单,在源oracle中,有大批量的表,是使用定时调度从其他不同的数据库(oracle,mysql,sybase,dameng,sqlserver)中将 “表信息”,“字段信息”,“注释信息”等元数据表,拉取过来,分别做好编号存储。   而kettle要实现的功能:   ① 则是从这些源数据表中,将表名、字段名、字段注释、字段长度、字段类型等信息关联出来。   ② 并与之前已经做好的一张结果表做关联更新。   ③ 将“元数据有变更”的表的四元素(type,length,primary,comment)信息进行update。   ④ 如果该字段已经没有了被删除了,则有专用字段标记为"1"。   ⑤ 如果是新来的字段,则insert插入目标表。   二、历程:   1. 一开始,机敏的同事使用了一个SQL脚本,用了oracle中的 merge using() matched ....用法,——如果查询结果与目标结果的 table_name和 column_name关联上,则直接将四元素update到目标表中;若没关联上,则直接insert到目标表中