發表文章

目前顯示的是有「data loader」標籤的文章

在用 Bulk API in parallel mode load 大量 Data 的時候,容易遇到 record lock contention。其實有個前置處理的小技巧……

小技巧 如果你要 load 的 data 有 Master-Detail 的 Parent 欄位或是 Lookup 欄位,可以試試看先在 csv 檔裡面針對這個欄位做排序。 Salesforce 給的官方建議原文是:P re-sort the child records by parent Id in her CSV file to lessen the chance of parent record lock contention among parallel load batches.   (請參考:  Salesforce Anti-Patterns: A Cautionary Tale  ) 原理說明 因為在 load data 的時候,對應的 parent record/被lookup的 record 會被 lock 住,以維資料正確完整。(可參考這篇詳細說明: ) 如果所 load 的資料未經排序,而 bulk API 又選擇了  parallel mode  ,則對應到同樣 parent record 的child record 就可能散落在平行處理的各個線程( threads)中。就變成各線程你卡我、我卡你,大家都動不了。 如果有先排序,就可以讓同樣 parent 的 child record 都盡可能集中在同一個線程中,一次處理。 就不太會卡來卡去囉~

Data Loader 卡住無回應該怎麼辦?

圖片
症狀描述 Data Loader一直卡在 Initializing Salesforce object and CSV file. 如下圖: 可能原因 可能是CSV檔案裡含有空白的 column 或 row。 不過其實通常 Data Loader也會提醒你,如下圖: 只是如果你按了 Yes to continue 的話,它就很可能會卡住。 因為他沒說會幫你處理空白欄列,只是問你要不要繼續去讓自己卡住而已。 解決方案 消除空白的欄/列,另存一個新的 CSV 檔,重新 load 一次。 即可。