

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 最佳化 Amazon Neptune 大量載入
<a name="bulk-load-optimize"></a>

使用下列策略，讓 Neptune 大量載入保持最短的載入時間：
+ **清除您的資料：**
  + 載入之前，請務必將您的資料轉換為[支援的資料格式](bulk-load-tutorial-format.md)。
  + 刪除任何重複內容或已知錯誤。
  + 盡可能減少唯一述詞 (例如邊緣和頂點的屬性) 的數目。
+ **最佳化您的檔案：**
  + 如果您從 Amazon S3 儲存貯體載入大型檔案 (例如 CSV 檔案)，載入器會透過將這些大型檔案剖析為其可以平行載入的區塊，來為您管理並行。使用大量小檔案可能會減慢此程序的速度。
  +  如果您從 Amazon S3 字首載入多個檔案，載入器會自動先載入頂點檔案，之後再載入邊緣檔案。不過，如果您知道自己只會載入邊緣檔案，`edgeOnlyLoad`則可以將 設定為 `TRUE`，略過掃描所有檔案以判斷其內容 （頂點或邊緣） 的第一個通道，以便在任何邊緣檔案之前載入找到的任何頂點檔案。這可以大幅加快載入時間，特別是當涉及許多邊緣檔案時。如果某些頂點檔案也出現在相同的 Amazon S3 字首 (`source` 參數） 中，則會載入它們，但沒有相對於其他檔案的任何排序保證。此外，如果資料庫中不存在某些 `to` `from`或 頂點，邊緣插入可能會報告訊息 的錯誤`FROM_OR_TO_VERTEX_ARE_MISSING`。最佳實務是將節點和邊緣放在單獨的 Amazon S3 字首中。
+ **檢查您的載入器設定：**
  + 如果您不需要在載入期間執行任何其他操作，請使用 [`OVERSUBSCRIBE``parallelism`](load-api-reference-load.md#load-api-reference-load-syntax) 參數。此參數設定會導致大量載入器在執行時使用所有可用的 CPU 資源。通常需要 60%-70% 的 CPU 容量，才能將操作的執行速度保持與 I/O 限制允許的速度一樣快。
**注意**  
當 `parallelism` 設定為 `OVERSUBSCRIBE` 或 `HIGH` (預設設定) 時，載入 OpenCypher 資料時存在執行緒可能會遇到競爭條件和死結的風險，進而導致 `LOAD_DATA_DEADLOCK` 錯誤。在此情況下，請將 `parallelism` 設定為較低的設定，然後重試載入。
  + 如果您的載入工作將包含多個載入請求，請使用 `queueRequest` 參數。將 `queueRequest` 設定為 `TRUE` 可讓 Neptune 將您的請求排入佇列，這樣您就不必等待一個請求完成後，再發出另一個請求。
  +  如果您的載入請求正要排入佇列，您可以使用 `dependencies` 參數設定相依性層級，以便一個工作若失敗就會導致相依工作失敗。這樣可以防止載入的資料中出現不一致的情況。
  + 如果載入工作將涉及更新先前載入的值，請務必將 `updateSingleCardinalityProperties` 參數設定為 `TRUE`。如果不這樣做，載入器會將嘗試更新現有的單一基數值視為錯誤。對於 Gremlin 資料，也會在屬性欄標頭中指定基數 (請參閱 [屬性欄標題](bulk-load-tutorial-format-gremlin.md#bulk-load-tutorial-format-gremlin-propheaders))。
**注意**  
此`updateSingleCardinalityProperties`參數不適用於資源描述架構 (RDF) 資料。
  + 您可以使用 `failOnError` 參數來決定發生錯誤時，大量載入操作應該失敗還是繼續。此外，您可以使用 `mode` 參數，來確定載入工作會從前一個工作失敗的那一點繼續載入，而不是重新載入已載入的資料。
+ **縱向擴展** – 在大量載入之前，將資料庫叢集的寫入器執行個體設定為大小上限。請注意，如果這樣做，您必須同時縱向擴展資料庫叢集中的任何僅供讀取複本執行個體，或將其移除，直到完成載入資料為止。

   當大量載入完成時，請務必再次縮減寫入器執行個體。

**重要**  
如果您由於大量載入期間的複寫延遲而遭遇重複僅供讀取複本重新啟動的週期，則您的複本可能無法跟上資料庫叢集中的寫入器。將讀取器擴展為大於寫入器，或在大量載入期間暫時將其移除，然後在完成後重新建立這些讀取器。

如需設定載入器請求參數的詳細資訊，請參閱 [請求參數](load-api-reference-load.md#load-api-reference-load-parameters)。