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

经过多方选型,最终决定使用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. 学习笔记 - 深究Bitmap压缩避免OOM的核心inSampleSize的最佳取值

    /** * 测试代码,通过在SDCard根目录放置几种不同大小的图片, 来自动测试压缩方式是否有效同时看是否会内存不够. * * @since * By:AsionTang * At:2014年3月2 ...

  2. 【C++对象模型】函数返回C++对象的问题

    在深入C++对象模型中,对于形如 CObj obj1 = Get(obj2); 的形式,编译器会在将其改变为如下 Get(obj, CObj&  obj1); 将赋值操作符左边的变量作为函数的 ...

  3. python学习之random模块

    Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...

  4. Java学习笔记(3)

    “当你定义出一组类的父型时,你可以用子型的任何类来填补任何需要或期待父型的位置” “运用多态时,引用类型可以是实际对象类型的父类”Animal myDog = new Dog(); 三种方法可以防止某 ...

  5. 用一个例子学习CSS的伪类元素

    CSS伪类元素是一个非常酷的东西!首先我们理解一下它,:before :after 伪类元素,也就是虚假的元素.它可以插入在元素的前面或者后面,而在HTML文档结构中,它却是不存在的,因为Js是无法通 ...

  6. How to include JavaScript file in JSF

    In JSF 2.0, you can use <h:outputScript /> tag to render a HTML "script" element, an ...

  7. poj 1915 http://poj.org/problem?id=1915

    /**< */#include <stdio.h> #include <string.h> #include <stdlib.h> #include < ...

  8. thymeleaf中的th:each用法

    一.th:eath迭代集合用法: <table> <thead> <tr> <th>序号</th> <th>用户名</th ...

  9. Spring Data JPA教程, 第四部分: JPA Criteria Queries(未翻译)

    The third part of my Spring Data JPA tutorialdescribed how you can create custom queries by using qu ...

  10. DataGridView 添加ComboBox

    http://www.wapsolo.com/Personal/personal_view_75.aspx DataGridView 添加ComboBox 第一: 先在窗体设计时拖一个ComBoBox ...