zoukankan      html  css  js  c++  java
  • 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来操作定时任务与作业,转换,但是,我希望这种数据处理过程可以不依赖代码。这样可以保证业务扩展的时候,可以快速匹配,不需要开发接入代码进行维护。但是,这种运行质量与效果,不知道能忍多久啊。

  • 相关阅读:
    Redis在CentOS和Windows安装过程
    celery在Django中的集成使用
    Celery 框架学习笔记(生产者消费者模式)
    异步任务队列Celery在Django中的使用
    如何使用django+celery+RabbitMQ实现异步执行
    PowerMock+SpringMVC整合并测试Controller层方法
    Python获取指定文件夹下的文件名
    Python中super的应用
    Linux系统(Centos)下安装nodejs并配置环境
    面试题37:序列化二叉树
  • 原文地址:https://www.cnblogs.com/asfeixue/p/3941963.html
Copyright © 2011-2022 走看看