我通過水壺從mongodb源加載mysql表。 Mongodb表有超過400萬條記錄,當我運行水壺作業時,需要17個小時才能完成第一次加載。 即使對於增量加載也需要一個多小時。我嘗試增加提交大小,併爲作業提供更多內存,但仍然無法改善性能。我認爲JSON
輸入步驟需要很長時間才能解析數據,因此速度很慢。 我在改造這些步驟JSON輸入的性能問題
- MongoDB的輸入步驟
- 的Json輸入
- 弦切
- 如果字段值爲null
- 的毗連領域
- 選擇值
- 表輸出。
從postgre提取的記錄相同的4百萬記錄比mongodb快得多。 有沒有一種方法可以提高性能? 請幫幫我。
謝謝, Deepthi
您可以在水壺中配置性能監控,並確定哪個步驟花費的時間最長。只要通過觀察運行的步驟指標,您也應該能夠獲得一個好主意。我懷疑你是對的,但不幸的是,我根本不知道蒙戈。我可能會盡我所能將提取物壓入Mongo而不是Kettle。 –
嗨,布賴恩,謝謝..是的,通過觀察指標瞭解到JSON輸入需要很長時間,因爲它將每一行解析爲每個事務的字符串。在生產環境中不能改變我的轉換,所以如果有人知道如何提高JSON性能,那麼它會很棒,因爲將來我們會把所有東西都轉移到mongo上,這可能很關鍵。 – Deepthi
我懷疑有什麼可以直接執行到'JSON Input'步驟。我想你必須嘗試減少你從Mongodb Input Step中選擇的行數,也許通過改變你的查詢表達式。或者,您可能會丟失集合中的索引。不確定你的意思是不能改變你的轉換,因爲它在生產中。那不就是說你不能改變任何東西,包括你的JSON Input步驟? –