zoukankan      html  css  js  c++  java
  • Kettle基本使用

    Kettle基本使用

    Kettle的几个子程序的功能和启动方式

    Spoon.bat    图形界面方式启动作业和转换设计器。

    Pan.bat      命令行方式执行转换。

    Kitchen.bat     命令行方式执行作业。

    Carte.bat      启动web服务,用于Kettle的远程运行或集群运行。

    Encr.bat     密码加密。

    转换和作业

    KettleSpoon.bat设计器用来设计转换(Transformation)和作业(job)。

    • 转换主要是针对数据的各种处理,一个转换里可以包含多个步骤(Step)。
    • 作业是比转换更高一级的处理流程,一个作业里包括多个作业项(Job Entry),一个作业项代表了一项工作,转换也是一个工作项。

    ###输入、输出、转换、过滤、字段选择、连接###

    Kettle资源库—元数据

    元数据的通用概念:

    • “描述性数据”或“数据的数据”

    ETL的元数据:

    • 描述ETL要执行的任务

    在Kettle里元数据的存储方式:

    • 资源库

        资源库宝库文件资源库,数据库资源库

        Kettle资源库类型可以插件扩展

    • XML文件

        .ktr转换文件的XML的根节点必须是<transformation>

        .kjb作业XML的根节点是<job>

    Kettle资源库—资源库类型

    数据库资源库:

    • 把Kettle的元数据串行化到数据库中,如R_TRANSFORMATION表保存了Kettle转换的名称、描述等属性。
    • 在Spoon里创建和升级数据资源库 

    文件资源库:

      在文件的基础上的封装,实现了org.pentaho.di.respositpory.Repository接口。

      是Kettle4.0以后版本里增加的资源库类型

    不使用资源库:

      直接保存为 ktr 或 kjb 文件。

    Kettle资源库—如何选择资源库?

    数据库资源库的缺点:

    • 不能存储转换或作业的多个版本。
    • 严重依赖于数据库的锁机制来防止工作丢失。
    • 没有考虑到团队,开发人员不能锁住某个作业自己开发。

    文件资源库的缺点:

    • 对象(如转换、作业、数据库连接等对象)之间的关联关系难以处理,所以删除,重命名等操作会比较麻烦。
    • 没有版本历史。
    • 难以进行团队开发。

    不使用资源库:

      使用SVN进行文件版本控制。

    参考:

    Kettle企业资源库:基于Apache Jackrabbit 的CMS系统。

    Kettle资源库—管理资源库

    ETL开发的几个阶段:

    开发、测试、确认、发布

    各个阶段对应的资源库:

    开发资源库、测试(确认)资源库、发布资源库

    各阶段推进

    1.从开发资源库带测试资源库:

      注意命名规则。

      由一个人统一发布,避免冲突。

      两种移植方法:断开重连、导入/导出。

    2.从测试(确认)资源库到发布资源库:导入/导出

    不使用资源库

      SVN版本控制,测试打tag,发布建branch 

    Kettle资源库—参数化

    为什么要参数化:

      在资源库之间移植作业时,因为各个阶段的环境不一样,在作业里使用的数据库连接等元数据不能硬编码。

    参数化的几个方法:

    • kettle.properties,文件位于java的user.home目录下
    • 自定义properties文件,通过 属性文件输入 步骤读取。
    • 使用参数表

    参数表的结构

    Environment  parameter_name  parameter_value  valid_from  valid_to

    Dev      host_name      localhost      2011-01-01 2099-01-01

    Test      host_name     192.168.12.10      2011-01-01 2013-05-01

    Test      hose_name    192.168.12.11    2011-05-02 2099-01-01

    Kettle运行方式—几中运行方式

    图形化界面:Spoon

    命令行:Pan、Kitchen

    API:Kettle Java API 嵌入到其它应用

    Kettle运行方式—Spoon

    本地:在本地执行

    远程:在远程服务执行,需要远程服务器执行Carte。

    • Carte是内嵌Jetty的 http server。
    • Carte执行命令 carte localhost 80080

    集群:在集群上执行,需要转换里的某个步骤实现设置为集群方式运行。

  • 相关阅读:
    JAVA中拼音工具类
    USB接口不同颜色的作用
    java的反射机制使用方法
    利用FrameLayout+LinearLayout实现Android底部导航栏切换
    Andorid中如何读取文件
    JAVA中解压压缩包到制定文件夹工具方法
    Andorid中子线程更新主线程方法
    委托的定义使用
    Json的序列化和反序列化
    在线支付(模拟支付宝)
  • 原文地址:https://www.cnblogs.com/Diyo/p/11371254.html
Copyright © 2011-2022 走看看