ETL Pentaho代碼學習筆記

一、經過設置KETTLE_HOME環境變量能夠讓.kettle不須要在user.home下性能優化

二、默認kettle_home 爲User.home,若是要自定義須要設置環境變量KETTLE_HOME工具

三、在.kettle目錄下可放置如下文件或目錄:性能

    

       文件名                                    說明
kettle.properties  內部運行時的環境變量 
.languageChoice 

設置運行的語言,方便進行界面語言的翻開發工具

     --內容LocaleDefault=en_US優化

             LocaleFailover=en_Uui

其它 也能夠放置Plugins目錄,增長本身的擴展插件

四、插件的類型:spa

 

類型         Plugin下的目錄         加載XML配置文件名插件

Step                 steps         kettle-steps.xml調試

Partitioner steps             orm

JobEntry         jobentries     

Repository repositories     

Database         databases     

Lifecycle         repositories     

Rules         rules                    

五、插件的加載

 a. 掃描目錄: <kettle_home>/plugins 、<運行目錄>/plugins、<kettle_home>/plugins/<第4點中類型對對應目錄  >、、<運行目錄>/plugins/<第4點中類型對對應目錄>

   說明:前兩個掃描申明,後兩個是掃描XML定義文件。

  能夠將全部定義的類路徑以逗號分隔設置到KETTLE_PLUGIN_CLASSES變量中用於調試。

  b.第一種方式:定義通用Xml格式結構

    (1) steps/step (見kettle-steps.xml)

    下 屬性或元素:id, description, iconfile, tooltip, category(兼容i18n), classname, errorhelpfile

  示例:

  <step id="Injector">

<description>i18n:org.pentaho.di.trans.step:BaseStep.TypeLongDesc.Injector</description> <!-- 

 :插件的名字顯示

                                                                                 以i18n:開頭按:分隔,第一部分是message所在的package路徑,第二部分是它的message key. 

-->

<classname>org.pentaho.di.trans.steps.injector.InjectorMeta</classname>  <!-- 

 :插件對應的類

-->

<category>i18n:org.pentaho.di.trans.step:BaseStep.Category.Inline</category> <!-- 

 :插件分類的名字顯示

                                                                                 以i18n:開頭按:分隔,第一部分是message所在的package路徑,第二部分是它的message key. 

-->

<tooltip>i18n:org.pentaho.di.trans.step:BaseStep.TypeTooltipDesc.Injector</tooltip>

<iconfile>ui/images/INJ.png</iconfile>

</step>

(2) libraries/library (插件引用Jar,可多個)

下 屬性: name (相對當前插件目錄的一個路徑)

(3) localized_category/category (插件的分類顯示文字,可多個)

    下 屬性: locale(指定國家語言代碼,如:en_US,zh_CN

          值:對應的文字  

    (4) localized_description/description(插件描述文字,可多個)

    下 屬性: locale(指定國家語言代碼,如:en_US,zh_CN

          值:對應的文字

    (5) localized_tooltip/tooltip(插件提示文字,可多個)

    下 屬性: locale(指定國家語言代碼,如:en_US,zh_CN

          值:對應的文字

 

  c. 第二種方式: 掃描

    <kettle_home>/plugins 、<運行目錄>/plugins、<kettle_home>/plugins/<第4點中類型對對應目錄>這三個目錄下全部的Jar包的裏面有類型對應的申明的類(這種方式就須要經過定義文件來完成) 

    類型                  接口                 對應的申明類

  Step                org.pentaho.di.trans.step.StepMetaInterface                org.pentaho.di.core.annotations.Step

  Partitioner   org.pentaho.di.core.annotations.PartitionerPlugin

   JobEntry          org.pentaho.di.job.entry.JobEntryInterface                  org.pentaho.di.core.annotations.JobEntry

   Repository   org.pentaho.di.core.annotations.RepositoryPlugin

   Database   org.pentaho.di.core.plugins.DatabaseMetaPlugin

   Lifecycle   org.pentaho.di.core.annotations.LifecyclePlugin

   ImportRule   org.pentaho.di.core.annotations.ImportRulePlugin

  c. 第三種,加載內置的.xml文件,如:kettle-engine.jar內根目錄下.xml文件。

          如:kettle-variables.xml,kettle-steps.xml,kettle-job-entries.xml

  也能夠經過環境變量來影響:steps(KETTLE_CORE_STEPS_FILE),JobEntry(KETTLE_CORE_JOBENTRIES_FILE)



 六、性能優化提示:能夠適當去除一些不須要用到的插件,這樣就會加快Spoon開發工具的啓動速度。

       如:AgileBI等,

相關文章
相關標籤/搜索