BI之ETL学习(一)kettle
最近开始折腾数据,起源是多业务数据源需要转换到数据分析平台。这个过程需要跨机器,跨库。同时还需要将业务数据表的内容进行转换,合并,清洗等等操作。
经过多方选型,最终决定使用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的更多相关文章
- R语言作为BI中ETL的工具
R语言作为BI中ETL的工具,增删改 R语言提供了强大的R_package与各种数据库进行数据交互. 外加其强大数据变换清洗函数,为ETL提供一条方便快捷的道路. RODBC ROracal RMys ...
- ETL第一篇(Kettle Spoon) 初遇
ETL第一篇(Kettle Spoon) 初遇 ETL第二篇 调用webservice 简介 Kettle 是一款国外开源的 ETL 工具,纯 Java 编写,绿色无需安装,数据抽取高效稳定(数据迁移 ...
- ETL工具之Kettle的简单使用一(不同数据库之间的数据抽取-转换-加载)
ETL工具之Kettle将一个数据库中的数据提取到另外一个数据库中: 1.打开ETL文件夹,双击Spoon.bat启动Kettle 2.资源库选择,诺无则选择取消 3.选择关闭 4.新建一个转换 5. ...
- ETL工具之——kettle使用简介
ETL工具之——kettle使用简介 https://yq.aliyun.com/articles/157977?spm=5176.10695662.1996646101.searchclickres ...
- ETL开源工具kettle学习笔记
一 Kettle配置与部署 参考1:http://www.cnblogs.com/limengqiang/archive/2013/01/16/KettleApply1.html 1.下载kettle ...
- BI之路学习笔记2--SSIS/ETL设计练习三:《DB->定期生成excel表》
上次笔记记到,用sql任务给参数赋值,映射到变量,然后把数据流任务放到序列容器中进行执行,可以定期生成excel, 现在的问题是: 在EXCEL目标编辑过程中,必须选定某一个特定的excel目标,这样 ...
- 开源ETL工具之Kettle介绍
What 起源 Kettle是一个Java编写的ETL工具,主作者是Matt Casters,2003年就开始了这个项目,最新稳定版为7.1. 2005年12月,Kettle从2.1版本开始进入了开源 ...
- ETL学习整理 PostgreSQL
ETL分别是“Extract”.“ Transform” .“Load”三个单词的首字母缩写也就是“抽取”.“转换”.“装载”,但我们日常往往简称其为数据抽取. ETL是BI/DW(商务智能/数据仓库 ...
- BI之路学习笔记1--SSIS包的认识和设计
进入了新的公司,开始接触新的方向,内心激动而又兴奋,对于BI以前知道的极少,从今天开始要好好学习了~ BI的概念,功能,强大之处在此先不做赘述,BI之路先要一步一个脚印扎实做起,现在正在看的也是之前好 ...
随机推荐
- 学习笔记 - 深究Bitmap压缩避免OOM的核心inSampleSize的最佳取值
/** * 测试代码,通过在SDCard根目录放置几种不同大小的图片, 来自动测试压缩方式是否有效同时看是否会内存不够. * * @since * By:AsionTang * At:2014年3月2 ...
- 【C++对象模型】函数返回C++对象的问题
在深入C++对象模型中,对于形如 CObj obj1 = Get(obj2); 的形式,编译器会在将其改变为如下 Get(obj, CObj& obj1); 将赋值操作符左边的变量作为函数的 ...
- python学习之random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- Java学习笔记(3)
“当你定义出一组类的父型时,你可以用子型的任何类来填补任何需要或期待父型的位置” “运用多态时,引用类型可以是实际对象类型的父类”Animal myDog = new Dog(); 三种方法可以防止某 ...
- 用一个例子学习CSS的伪类元素
CSS伪类元素是一个非常酷的东西!首先我们理解一下它,:before :after 伪类元素,也就是虚假的元素.它可以插入在元素的前面或者后面,而在HTML文档结构中,它却是不存在的,因为Js是无法通 ...
- How to include JavaScript file in JSF
In JSF 2.0, you can use <h:outputScript /> tag to render a HTML "script" element, an ...
- poj 1915 http://poj.org/problem?id=1915
/**< */#include <stdio.h> #include <string.h> #include <stdlib.h> #include < ...
- thymeleaf中的th:each用法
一.th:eath迭代集合用法: <table> <thead> <tr> <th>序号</th> <th>用户名</th ...
- Spring Data JPA教程, 第四部分: JPA Criteria Queries(未翻译)
The third part of my Spring Data JPA tutorialdescribed how you can create custom queries by using qu ...
- DataGridView 添加ComboBox
http://www.wapsolo.com/Personal/personal_view_75.aspx DataGridView 添加ComboBox 第一: 先在窗体设计时拖一个ComBoBox ...