2016-02-19 46 views
0

我正在開發一個遷移工具並使用Talend ETL工具(免費版)。Talend ETL工具

面臨的挑戰: -

是否有可能創建一個使用動態模式每次運行,即沒有硬編碼映射在tMap組件的時間了Talend工作。

我想讓用戶輸入一個CSV/Excel文件,並且該作業應該根據該輸入文件創建映射。是否有可能在傳奇?

任何其他免費的ETL工具也可以是有用的,或任何示例工作。

回答

1

是的,這可以在Talend中完成,但如果你不想使用tMap,那麼你的表和文件必須完全匹配。我們實現它的方式是用於所有varchar數據類型的階段表。這在您將原始數據加載到階段表時起作用,並且在將階段數據加載到數據倉庫之前在加載之後完成驗證。

這裏是我們的方法的總結:

  1. 文件名包含表名稱,這樣的進程與tFileList開始,解析出從文件名中的表名。
  2. 使用tMSSQLColumnList獲得每一列名稱,類型,以及長度爲表(一個方式是把它存儲爲tFixedFlowInput內嵌表)
  3. 運行此直通一個tSetDynamicSchema以產生動態該表
  4. 使用一個文件輸入引用了動態模式。
  5. 再次引用MSSQLOutput並引用動態模式。

有關數據類型的更多注意事項。它可能適用於數據類型比varchar,但我們的階段表只有varchar和datetime。我們遇到了日期問題,所以我們用tMap過濾掉了這些列類型。

請記住,這是一個總結,指出你在正確的方向,而不是一個精確的教程。但是,通過掌握這些信息,您可以在構建解決方案的同時節省大量工作時間。