共用方式為


在 Azure Databricks 上設定 Spark 組態屬性

您可以設定 Spark 組態屬性 (Spark confs) 來自定義計算環境中的設定。

Databricks 通常會建議不設定大部分的Spark屬性。 特別是從開放原始碼 Apache Spark 移轉或升級 Databricks 運行時間版本時,舊版 Spark 組態可以覆寫優化工作負載的新預設行為。

對於 Spark 屬性所控制的許多行為,Azure Databricks 也會提供選項來啟用數據表層級的行為,或將自定義行為設定為寫入作業的一部分。 例如,架構演進先前是由Spark屬性所控制,但現在具有SQL、Python 和 Scala 的涵蓋範圍。 請參閱<合併的結構描述演進語法>。

設定筆記本和作業的Spark屬性

您可以設定筆記本和作業的 Spark 屬性。 組態的範圍取決於您設定它的方式。

已設定的屬性: 適用於:
使用計算組態 所有筆記本和作業都會使用計算資源執行。
在筆記本內 只有目前筆記本的 SparkSession。

如需在計算層級設定 Spark 屬性的指示,請參閱 Spark 設定

若要在筆記本中設定 Spark 屬性,請使用下列語法:

SQL

SET spark.sql.ansi.enabled = true

Python

spark.conf.set("spark.sql.ansi.enabled", "true")

Scala

spark.conf.set("spark.sql.ansi.enabled", "true")

在 Databricks SQL 中設定 Spark 屬性

Databricks SQL 可讓系統管理員在工作區設定功能表中設定用於數據存取的 Spark 屬性。 請參閱 啟用資料存取設定

除了數據存取組態之外,Databricks SQL 只允許少數 Spark confs,為了簡單起見,已將它別名為較短的名稱。 請參閱 組態參數

針對大部分支援的 SQL 組態,您可以覆寫目前會話中的全域行為。 下列範例會關閉 ANSI 模式:

SET ANSI_MODE = false

設定 Delta Live Tables 管線的 Spark 屬性

Delta Live Tables 可讓您設定管線的 Spark 屬性、針對針對管線設定的一個計算資源,或針對個別流程、具體化檢視或串流數據表。

您可以使用 UI 或 JSON 來設定管線和計算 Spark 屬性。 請參閱 設定 Delta Live Tables 管線

spark_conf使用 DLT 裝飾函式中的 選項來設定流程、檢視或數據表的 Spark 屬性。 請參閱 Python Delta Live Tables 屬性

設定無伺服器筆記本和作業的Spark屬性

無服務計算不支援為筆記本或作業設定大部分的Spark屬性。 以下是您可以設定的屬性:

  • spark.sql.legacy.timeParserPolicy (預設值為 EXCEPTION
  • spark.sql.session.timeZone (預設值為 Etc/UTC
  • spark.sql.shuffle.partitions (預設值為 auto
  • spark.sql.ansi.enabled (預設值為 true