Skip to main content

Pentaho Kettle 置入 Lib

支援環境

若使用 Windows,請使用 Pentaho Kettle CannerFlow Plugin

版本支援#

僅支援 7.x, 8.x 及 9.x

Dependency 設定#

若您 /lib 下所使用的 dependency 包含

請將上述 jar 更新至以下最新版

以上 jar 檔案放置到 /lib 下後,請把原本的 jar 檔案刪除.

使用方式#

1. JDBC Driver#

按照 Dependency 設定 中的指示更新後,請將 JDBC Driver 放置到 /lib 下.

2. Create Database Connection#

pentaho-kettle-create-db

3. 設定 Database Connection#

  • Connection Type 選擇 Generic database,Access 選擇 Native (JDBC)
  • Custom connection URL 請參考 JDBC Driver 文件,應像是 jdbc:cannerflow://data-portal.apps.cannerflow.com:443/cannerflow/test_workspace?token=Y2xpZW50XzM0MTE4NjJlLTI1Y...
  • Custom driver class name 填入 com.cannerdata.jdbc.CannerflowDriver

pentaho-kettle-db-con

4. Explore#

點擊 Explore 後,會如下圖,看到 workspace 中設定好的 tables, view 及 materialized view

pentaho-kettle-explore-db pentaho-kettle-explore-db-result

5. 使用於 Design -> Input -> Table Input#

設定好 Database connection 後,可拖移 Table Input 至設計畫面上,雙擊 Table Input 進入設定表單,connection 選擇剛剛上個步驟設定好的 database connection,並輸入欲使用的 SQL Statement pentaho-kettle-table-input-edit

點擊 Preview,可看到部分的資料 pentaho-kettle-table-input-preview

接著,就可以照您想使用的方式,Output 到不同的地方做轉換跟儲存了.

Troubleshooting#

Could not initialize class com.cannerdata.jdbc.CannerflowDriver#

  • 請確定 JDBC Driver 已放置到正確的位置,可被 Pentaho Kettle 讀取
  • 若使用的是 7.x 版本,請確認有按照 Dependency 設定 中描述,請確認有置換掉 jackson 相關的幾個套件

error-1

java.lang.NoSuchMethodError: com.ctc.wstx.io.StreamBootstrapper.getInstance(Ljava/lang/String;Lcom/ctc/wstx/io/SystemId;Ljava/io/InputStream;)Lcom/ctc/wstx/io/StreamBootstrapper;#

若執行 Query 時碰到包含以下訊息的錯誤,請確認有按照 Dependency 設定 中描述,換掉 webservices-rt-2.3.1.jar, webservices-api-2.3.1.jar, wstx-asl-3.2.4.jar 這三個套件,並從 /lib 中刪除

java.lang.NoSuchMethodError: com.ctc.wstx.io.StreamBootstrapper.getInstance(Ljava/lang/String;Lcom/ctc/wstx/io/SystemId;Ljava/io/InputStream;)Lcom/ctc/wstx/io/StreamBootstrapper;

error-2