最近开始折腾数据,起源是多业务数据源需要转换到数据分析平台。这个过程需要跨机器,跨库。同时还需要将业务数据表的内容进行转换,合并,清洗等等操作。

经过多方选型,最终决定使用kettle来作为数据抽取处理的工具。

但是,在这里,是想吐槽下kettle这东西的问题。

1.kettle的版本使用的是5.1,搭建了一个kettle的集群之后,经常遇到的问题就是虚拟文件系统异常,作业,或者转换 "is a not a file."。网上找到的解决办法是远程上传的作业是xml,但是缺乏XML头,因此在做XML解析的时候出问题了。但是手工添加然后指定发布太麻烦了,所幸出现几率不大,目前也就顺其自然,先用起来再说。后续受不了了自己维护一套系统,把这个bug修复(此bug在官网的buglist里面历经多年未修复,真是。。。。);

2.kettle的作业,转换,无论结束与否默认情况下是持续可见的,但是那种连续执行的作业,定时执行的作业,在运行一段时间之后就满屏了

像上图这种效果,特别难受,而且这种日志一直保留也会导致jvm oom。但是配置了一些参数:

<slave_config>

<masters>

<slaveserver>

<name>10.172.7.12</name>

<hostname>10.172.7.12</hostname>

<port>8181</port>

<username>admin</username>

<password>admin</password>

<master>Y</master>

</slaveserver>

</masters>

<report_to_masters>Y</report_to_masters>

<slaveserver>

<name>10.172.7.13</name>

<hostname>10.172.7.13</hostname>

<port>8181</port>

<username>cluster</username>

<password>cluster</password>

<master>N</master>

</slaveserver>

</slave_config>

之后,发现集群运行的作业执行完毕之后不能释放端口。所以又倒回来,只能接受过阵子重启集群这种现实。

3.提供的开始功能,虽然有定时的能力,但是有人说这东西不靠谱,官方也不推荐使用,难道做数据维护,一定需要依赖代码?

4.虽然有推荐java调用kettle的API来操作定时任务与作业,转换,但是,我希望这种数据处理过程可以不依赖代码。这样可以保证业务扩展的时候,可以快速匹配,不需要开发接入代码进行维护。但是,这种运行质量与效果,不知道能忍多久啊。

BI之ETL学习(一)kettle的更多相关文章

  1. R语言作为BI中ETL的工具

    R语言作为BI中ETL的工具,增删改 R语言提供了强大的R_package与各种数据库进行数据交互. 外加其强大数据变换清洗函数,为ETL提供一条方便快捷的道路. RODBC ROracal RMys ...

  2. ETL第一篇(Kettle Spoon) 初遇

    ETL第一篇(Kettle Spoon) 初遇 ETL第二篇 调用webservice 简介 Kettle 是一款国外开源的 ETL 工具,纯 Java 编写,绿色无需安装,数据抽取高效稳定(数据迁移 ...

  3. ETL工具之Kettle的简单使用一(不同数据库之间的数据抽取-转换-加载)

    ETL工具之Kettle将一个数据库中的数据提取到另外一个数据库中: 1.打开ETL文件夹,双击Spoon.bat启动Kettle 2.资源库选择,诺无则选择取消 3.选择关闭 4.新建一个转换 5. ...

  4. ETL工具之——kettle使用简介

    ETL工具之——kettle使用简介 https://yq.aliyun.com/articles/157977?spm=5176.10695662.1996646101.searchclickres ...

  5. ETL开源工具kettle学习笔记

    一 Kettle配置与部署 参考1:http://www.cnblogs.com/limengqiang/archive/2013/01/16/KettleApply1.html 1.下载kettle ...

  6. BI之路学习笔记2--SSIS/ETL设计练习三:《DB->定期生成excel表》

    上次笔记记到,用sql任务给参数赋值,映射到变量,然后把数据流任务放到序列容器中进行执行,可以定期生成excel, 现在的问题是: 在EXCEL目标编辑过程中,必须选定某一个特定的excel目标,这样 ...

  7. 开源ETL工具之Kettle介绍

    What 起源 Kettle是一个Java编写的ETL工具,主作者是Matt Casters,2003年就开始了这个项目,最新稳定版为7.1. 2005年12月,Kettle从2.1版本开始进入了开源 ...

  8. ETL学习整理 PostgreSQL

    ETL分别是“Extract”.“ Transform” .“Load”三个单词的首字母缩写也就是“抽取”.“转换”.“装载”,但我们日常往往简称其为数据抽取. ETL是BI/DW(商务智能/数据仓库 ...

  9. BI之路学习笔记1--SSIS包的认识和设计

    进入了新的公司,开始接触新的方向,内心激动而又兴奋,对于BI以前知道的极少,从今天开始要好好学习了~ BI的概念,功能,强大之处在此先不做赘述,BI之路先要一步一个脚印扎实做起,现在正在看的也是之前好 ...

随机推荐

  1. [Irving] Wpf DevexPress GridControl 获取选中行

    WPF前台绑定事件代码: <RelayAction TargetControl="{Binding ElementName=GCInstoragePart}" MethodN ...

  2. Python字典增删操作技巧简述

    Python编程语言是一款比较容易学习的计算机通用型语言.对于初学者来说,首先需要掌握的就是其中的一些基础应用.比如今天我们为大家介绍的Python字典的相关操作,就是我们在学习过程中需要熟练掌握的技 ...

  3. An Oblivious Watermarking for 3-D Polygonal Meshes Using Distribution of Vertex Norms

    An Oblivious Watermarking for 3-D Polygonal Meshes Using Distribution of Vertex Norms 转眼就11月底了,突然开始有 ...

  4. MFC字体与文本输出

    字体 成员函数 1.CFont( ); 构造一个CFont对象.此对象在使用之前应该先使用CreateFont.CreateFontIndirect.CreatePointFont或CreatePoi ...

  5. 恒天云单节点部署指南--OpenStack H版本虚拟机单节点部署解决方案

    本帖是openstack单节点在虚拟机上部署的实践.想要玩玩和学习openstack的小伙伴都看过来,尤其是那些部署openstack失败的小伙伴.本帖可以让你先领略一下openstack的魅力.本I ...

  6. python日志输出

    import logging logger = logging.getLogger() #生成一个日志对象,()内为日志对象的名字,可以不带,名字不给定就是root,一般给定名字,否则会把其他的日志输 ...

  7. 【转】浅析C语言的非局部跳转:setjmp和longjmp

    转自 http://www.cnblogs.com/lienhua34/archive/2012/04/22/2464859.html C语言中有一个goto语句,其可以结合标号实现函数内部的任意跳转 ...

  8. Java设计模式系列之策略模式

    策略模式的定义: 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换,策略模式让算法独立于使用它的客户而独立变化. 策略模式使这些算法在客户端调用它们的时候能够互不影响地变化 ...

  9. jQuery基础学习8——层次选择器next()和prev()方法

    $('.one + div').css("background","#bbffaa"); //和next()方法是等价的,前后关系,和prev()方法是对立的 ...

  10. ASP.NET MVC中Session以及处理方式

    转载原地址 http://www.cnblogs.com/darrenji/p/3951065.html