簡體   English   中英

Java中的Pentaho Kettle程序按列合並多個csv文件

[英]Pentaho Kettle program in java to merge multiple csv files by columns

我有兩個csv文件employee.csv和loan.csv。

在employee.csv中我有四列,即empid(整數),name(字符串),age(整數),education(String)。

在loan.csv我有三列,即貸款(Double),余額(Double),empid(整數)。

現在,我想通過empid column將這兩個csv文件合並到一個csv文件中。所以在result.csv文件中,列應該是,

  • EMPID(整數),
  • 名稱(字符串)
  • 年齡(整數),
  • 教育(字符串)
  • 貸款(雙人間)
  • 平衡(雙人間)。

另外,我必須通過在Java中使用kettle api程序來實現這一點。 誰能幫幫我嗎?

首先 ,您需要創建一個水壺轉換,如下所示:

  1. 取兩個“CSV輸入步驟”,一個用於employee.csv,另一個用於loan.csv
  2. 將輸入跳轉到“Stream Lookup”步驟並使用“emplid”查找
  3. 最后一步:獲取文本文件輸出以生成csv文件輸出。 在此輸入圖像描述

我把ktr代碼放在這里

其次 ,如果你想用Java執行這個轉換,我建議你閱讀這個博客。 我已經解釋了如何使用Java執行.ktr / .kjb文件。


加分:

如果需要將csv文件的名稱作為參數從Java代碼傳遞,則可以通過添加以下代碼來實現:

  trans.setParameterValue(parameterName, parameterValue);

其中parameterName是一些變量名稱, parameterValue是文件的名稱或位置。

我已經將文件名作為我共享的水壺代碼中的參數。

希望能幫助到你 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM