• 【Kettle】第一篇,Pan 的使用


    Pan使用文档

    1.什么是Pan?

      Pan是可以执行转换的程序,转换可以使Spoon设计出来的ktr格式文件也可以是资源库里的。通常转换都是以一定间隔时间去计划执行的(通过PDI企业版资源库计划功能,或者第三方工具像Cron和windows任务计划功能)。

    2.安装

      第一步安装Oracle公司的java 1.7以上运行环境。之后,选择一个版本下载并解压 PDI software: pdi-ce-VERSION.zip压缩包,在解压文件夹里面你会发现许多文件(废话)。

      当你使用Unix风格运行环境(Solaris,Linux,OSX,...),需要给shell脚本执行权限,可以执行下面的命令让kettle文件夹下所有的shell脚本有执行权限;

    cd data-integration
    chmod +x *.sh

    2.1启动Pan

      为了在不同平台使用,Kettle提供了不同的启动方式:

    • Pan.bat :windows 平台运行
    • pan.sh :Unix平台和OSX平台运行

      Pan能够在安装有Java 1.7以上的任何平台运行。

    3.命令行操作选项

      以下是你可以使用的命令行操作选项。

    重要提示:

    • 在windows平台上,在选项中使用(“-”)减号和等号(“=”)有问题,所以从2.2.2开始,新增加选项中可以使用斜线(“/”)和冒号(“:”);
    • 斜线后面跟的是选项字段
    • 如果选项值中存在空格,使用单引号或者双引号将他们包起来,看下面的例子了解更多。
    /option:value

      以下为有效的选项。

    3.1显示版本信息

    -version

      这个选项显示了Kettle核心二进制文件(kettle.jar)的版本。也显示了编译版本号以及编译时间等等。

    3.2启动XML文件

    -file=filename

      这个选项启动定义好的XML文件(.ktr:Kettle的转换文件)

    3.3命名参数

    -param

      你可以命名一个参数并赋值,举个例子:-param:FOO=value

    -listparam

       列出制定指定转换中所有的命名参数(名字,默认值以及描述)

    3.4设置日志文件

    -log=Logging Filename

      指定日志文件,默认是标准输出。

    3.5设置日志等级

    -level=Logging Level

      这个等级选项可以设置在运行转换的日志等级。以下是可以取的值:

    • Error:只显示错误信息
    • Nothing:不做任何日志输出
    • Minimal:仅仅最小输出
    • Basic:基本信息输出,默认日志级别
    • Detailed:详细日志输出
    • Debug:调试使用,非常详细
    • RowLevel:行级别日志,会产生大量日志

    3.6选择一个资源库

    -rep=Repository name

      使用资源库名字连接至资源库,同时你也需要指定下面的操作选项  --user , --pass 以及 --trans 。你也可以在环境变量中指定 KETTLE_REPOSITORY 这些操作选项值。

    3.7设置资源库的用户名

    -user-Username

      这个是你想要连接的资源库的用户名,你也可以在环境变量中指定 KETTLE_USER。

    3.8设置资源库密码

    -pass=Password

      这是你想连接的资源库的用户密码,同样你也可以在环境变量中指定 KETTLE_PASSWORD。

    3.9选在资源库中的转换启动

      

    -trans=Transformation Name

      利用这个操作选项可以选择资源库中的转换。

    3.10列出资源库中所有目录

    -listdir=Y

      在使用 -dir 时,打印出资源库目录下所有子目录。

    3.11设置资源库目录

    -dir=directory

      指定资源库目录,资源库目录可以像是这样的:

    • 根目录:/
    • 子目录:/production/Dimensions/

      从2.2.2版本开始,分隔符 / 可以被用到各种平台。

    3.12列出资源库下所有转换

    -listtrans=Y

      在使用 -dir 时,列出资源库目录下所有的转换。

    3.13列出所有可用的资源库

    -listrep=Y

      列出所有的已经定义的资源库

    3.14导出整个资源库

    -exprep=filename.xml

      这个操作选项导出整个资源库至一个XML文件,回复成资源库需要使用Spoon的资源库管理器,详情参见Spoon文档。

    3.15日志禁止写入资源库

    -norep=Y

      如果你已经设置了环境变量 KETTLE_REPOSITORY, KETTLE_USER, KETTLE_PASSWORD, 你可以阻止 pan 将日志写入到资源库。举个例子,如果你想执行一个xml文件格式的转换。

    4.路径 

      在运行以下例子之前,请确保你在data-integration目录下。如果你将这些脚本文件放到批处理或者shell脚本中,将会很容易修改目录为安装目录。
      如果data-integration被安装在 D:\ drive

    D:
    
    cd \data-integration

      如果data-integration 被安装在Unix系统的 /product 目录下:

    cd /product/data-integration/

    5.从文件运行转换

      从windows平台运行一个转换文件

    pan.bat /file:"D:\Transformations\Customer Dimension.ktr" /level:Basic

      在Linux平台上运行一个转换文件

    pan.sh -file="/PRD/Customer Dimension.ktr" -level=Minimal

    6.从资源库运行一个转换

      这个例子是在Windows平台从资源库运行一个转换(一行输入没有返回...)

    复制代码
    pan.bat /rep:"Production Repository"
                /trans:"update Customer Dimension"
                /dir:/Dimensions/
                /user:matt
                /pass:somepassword123
                /level:Basic
    复制代码

    7.重定向输出

      如果你不想输出出现在屏幕,更想输出到日志文件,你可以使用重定向。这个例子添加pan的输出到一个不断增长的日志文件。

    pan.sh -file="/PRD/trans.ktr" -level=Minimal >> /LOG/trans.log

      这个例子将pan输出每次重写进文件

    pan.bat /file:C:\PRD\trans.ktr /level:Basic > C:\LOG\trans.log

    8.返回码

      pan 基于异常事件返回相应的错误码:

    • 0:转换运行正常
    • 1:处理过程中出错
    • 2:在加载/运行转换过程中发生意外错误
    • 3:无法解析和初始化此转换
    • 7:无法从XML或资源库加载转换
    • 8:加载步骤或插件时出错(主要是加载其中一个插件时出错)
    • 9:Command line usage printing 

    9.定时调度(scheduling)

    9.1在windos平台上定时调度转换

      最好的方法是先在DOS提示符下测试命令。然后,您可以使用Windows任务调度程序启动此命令。Windows 2000版本之后有一个GUI,通过控制面板可以做到这一点。它也可以使用命令行来做这个:

    at 23:30 /every:Monday,Wednesday,Friday "D:\update_dimensions.bat"

      查看定时调度命令清单(To see a list of the scheduled commands simply type):

    at

    9.2在Unix平台上定时调度一个转换

      首先创建一个shell脚本来运行所有的转换,然后你只需要定时调度运行这个shell脚本就可以了。

      在Unix平台最简单的定时调度命令方式是使用cron 表达式,你可以使用下面的命令:

    crontab -e

      然后你可以在命令中输入你要运行的时间(Then you can enter the time at which the command needs to be run as well as the command
    on a single line in the text file that is presented)

    • Minute:分钟,0-59
    • Hour:小时,0-23
    • Month day:天,1-31
    • Month:月, 1-12
    • Weekday:周, 0-6, 0=星期天

      你可以为每一个参数指定一个数字以上的值,两个数字使用连字符 - 分隔起来,这意味着是一个数字范围。如果你使用逗号分隔两个数字,这意味着可以取不同的值。如果你使用 * 代替一个数字,意味着可以取任意的小时、分钟、天、月或者周。

      因此,如果你想在每周工作日每个小时在15分和45分时更新dimensions ,可以输入下面的cron命令:

    #
    # Launches the update of the dimensions in the warehouse
    #
    15,45 * * * 1-5 /PROD/update_dimensions.sh
    #
  • 相关阅读:
    将枚举的键值绑定到下拉列表框
    获取checkbox的选中值
    ADO.NET中的五个主要对象
    10.MVC框架开发(Ajax应用)
    9.MVC框架开发(关于ActionResult的处理)
    8.MVC框架开发(URL路由配置和URL路由传参空值处理)
    7.MVC框架开发(创建层级项目)
    6.MVC框架开发(文件上传)
    5.MVC框架开发(强类型开发,控制器向界面传递数据的几种方法)
    4.MVC框架开发(母版页的应用、按钮导致的Action处理、从界面向控制器传数据和HtmlHelper控件的实现(注册的实现))
  • 原文地址:https://www.cnblogs.com/telwanggs/p/16007212.html
Copyright © 2020-2023  润新知