簡體   English   中英

Talend Open Studio數據與基於父子關系的MySQL遷移

[英]Talend Open Studio data migration with MySQL on parent-child relation

我正在使用Talend Open Studio進行數據遷移,因為我正在將現有的應用程序體系結構升級到新的體系結構。 我在兩個應用程序中都使用MySQL,但模式不同。 我已經成功地在單個表之間遷移了數據,但是當我將數據從單個表轉移到具有外鍵約束的父子關系表時,數據傳輸非常慢。 例如,我正在將“城市”表遷移到“城市”和“ Citiesi18n”,以下是它們的架構:

我的舊模式:

CITIES (
  id   
  city_name
  status
  created_at
)

我需要在其中遷移數據的新創建的架構:

CITIES (
  id   
  status
  created_at
)

CITIESI18N (
  id           
  lang_code
  name
  fk_city_id      (// foreign key of cities table)
)

以下是我的Talend作業的快照:

在此處輸入圖片說明

這是tmap配置:

在此處輸入圖片說明

現在,當我在沒有外鍵的情況下傳輸數據時,結果非常快。 見下文 :

在此處輸入圖片說明

但是,當我使用外鍵進行傳輸時,我的傳輸非常慢:

(注意:我以省表為例,因為它與城市表相似)

在此處輸入圖片說明

我認為,在使用外鍵約束的情況下,它必須在傳輸數據時索引列,這會使它變慢,但我不確定。 有什么辦法可以解決此問題,因為我有很多與此表類似的表需要遷移。 我只是想知道原因。

我不知道為什么會有這種行為:您可以嘗試將'provience_i18n'重定向到tHashOutput(緩存組件),然后使用tHashInput(引用您的tHashOutput)-> tMySQLOutput鏈接到子作業。 您將有2個子工作,每個插入工作一個。

你是在同一時間將數據加載到父和子。 使用一個tmap。 在第二張表中插入外鍵時,在外/父表中也會進行插入 或者,您可以做的是:先將數據加載到主CITIES表中,然后再將onSubJobOk加載到child / CITIESI18N表中。 這樣會更快。 讓我知道它是否有效。

暫無
暫無

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

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