共用方式為


什麼是 Azure Databricks 上的數據轉換?

數據轉換是將數據轉換、清理和結構化為可用格式的過程。 數據轉換通常會遵循 Databricks 獎章架構, 以累加方式將數據從原始精簡為企業消耗的格式。

下圖顯示了一個數據管線,其中包含一系列的數據轉換。此範例中,會將 raw_customers 數據集轉換成 clean_customers 數據集,其中透過移除沒有客戶名稱的客戶數據來達成。 raw_transactions 數據會藉由移除值為零美元的交易而變成 clean_transactions。 名為 sales_report 的資料集是 clean_customersclean_transactions的聯結結果。 分析師可以使用 sales_report 進行分析和商業智能。

資料轉換範例

數據轉換的類型

Databricks 會考慮兩種類型的數據轉換:宣告式程式性。 上述範例中的數據管線可以使用任一範例來表示。

宣告式轉換著重於所需的結果,而不是如何達成。 您可以使用較高層級的抽象概念來指定轉換的邏輯,DLT 會決定執行轉換的最有效率的方式。

程式性數據轉換著重於透過明確指示執行計算。 這些運算定義了操作數據的確切順序。 程式性方法可提供對執行更多的控制,但代價是更高的複雜度和更高的維護。

在宣告式和程式性數據轉換之間選擇

使用 DLT 的宣告式資料轉換最適合的時機:

  • 您需要快速開發和部署。
  • 您的數據管線具有標準模式,不需要對執行進行低階控制。
  • 您需要內建的數據質量檢查。
  • 維護和可讀性是重中之重。

使用 Apache Spark 程式代碼進行程式性資料轉換的最佳狀況是:

  • 您要將現有的 Apache Spark 程式代碼基底移轉至 Databricks。
  • 您需要對執行進行更細緻的控制。
  • 您需要存取低階 API,例如 MERGEforeachBatch
  • 您必須將數據寫入 Kafka 或外部 Delta 資料表。