Campaign:從Adobe Campaign到Databricks (DBX)的資料傳輸速度緩慢

本文會說明從Adobe Campaign到Databricks的資料傳輸速度顯慢於預期的效能問題。 當Campaign無法使用其大量載入機制,而是退回較慢的逐列插入策略時,就會發生此行為。

說明 description

在某些Adobe Campaign工作流程中,寫入資料庫的資料速度可能會非常慢,即使其他資料庫傳輸路徑正常執行也是如此。

典型症狀包括:

  • 從Adobe Campaign或同盟資料來源傳輸至Databricks所需的時間比預期長很多。
  • 反向或替代資料流程仍可正常執行。
  • 此問題可在多個工作流程或環境中重現。
  • 工作流程或稽核記錄檔包含類似以下的警告:

找不到用於大量載入的存放裝置帳戶。 使用預設大量載入策略

此警告指出Campaign找不到大量載入路徑所需的連結儲存體設定。 因此,聯結器會退回到ODBC上的預設逐列插入方法。

解決方法 resolution

從Adobe Campaign將資料寫入Databricks時觀察到的資料傳輸效能緩慢,這是Databricks外部帳戶未設定連結的雲端儲存空間帳戶(Azure Blob或AWS S3)的直接結果。

根本原因

當Campaign將資料寫入資料庫時,它會嘗試使用大量載入路徑,而這依賴於連結的雲端儲存空間帳戶作為中繼中繼中繼區域。 此程式的設計如下:

  • Campaign會將輸出資料序列化為壓縮的CSV檔案。
  • Campaign會將這些檔案上傳至連結的雲端儲存空間帳戶(Azure Blob或S3)。
  • Campaign發出Databricks COPY INTO命令,指示Databricks直接從雲端儲存空間擷取分段檔案。
  • Databricks會以原生速度平行讀取檔案。

若未設定連結的儲存體帳戶,Campaign就無法使用此大量載入路徑。 系統會記錄下列警告:

找不到用於大量載入的存放裝置帳戶。 使用預設大量載入策略

此警告會顯示在工作流程的稽核記錄檔中。 出現此警告後,Campaign會退回透過ODBC連線傳送個別列層級INSERT陳述式。 每一資料列都需要個別的網路往返至Databricks SQL Warehouse,這會造成效能隨資料量線性降低。

此遞補行為不是降級的「較慢模式」 — 不適用於生產規模的資料磁碟區。 它僅作為最後手段機制存在。

因此,將連結的儲存體帳戶(Azure Blob或AWS S3)新增至Databricks外部帳戶將可解決此效能問題。 在設定儲存體帳戶後,Campaign將使用COPY INTO大量載入路徑,這是Databricks建議的資料擷取機制。

recommendation-more-help
experience-cloud-kcs-help-kbarticles