Festlegen von Spark-Konfigurationseigenschaften in Azure Databricks
Sie können Spark-Konfigurationseigenschaften festlegen, um Einstellungen in Ihrer Computeumgebung anzupassen.
Databricks empfiehlt im Allgemeinen, die meisten Spark-Eigenschaften nicht zu konfigurieren. Insbesondere beim Migrieren von der Open-Source-Version von Apache Spark oder beim Aktualisieren von Databricks-Runtimeversionen können ältere Spark-Konfigurationen neue Standardverhaltensweisen außer Kraft setzen, die Workloads optimieren.
Für viele Verhaltensweisen, die von Spark-Eigenschaften gesteuert werden, bietet Azure Databricks auch Optionen zum Aktivieren des Verhaltens auf Tabellenebene oder zum Konfigurieren des benutzerdefinierten Verhaltens als Teil eines Schreibvorgangs. Beispielsweise wurde die Schemaentwicklung zuvor von einer Spark-Eigenschaft gesteuert, wird aber jetzt in SQL, Python und Scala abgedeckt. Weitere Informationen finden Sie unter Schemaentwicklungssyntax für Merge.
Konfigurieren von Spark-Eigenschaften für Notebooks und Aufträge
Sie können Spark-Eigenschaften für Notebooks und Aufträge festlegen. Der Umfang der Konfiguration hängt davon ab, wie Sie sie festlegen.
Konfigurierte Eigenschaften: | Gilt für: |
---|---|
Verwenden der Computekonfiguration | Alle Notebooks und Aufträge werden mit der Computeressource ausgeführt. |
Innerhalb eines Notebooks | Nur die SparkSession für das aktuelle Notebook. |
Anweisungen zum Konfigurieren von Spark-Eigenschaften auf Computeebene finden Sie unter Spark-Konfiguration.
Verwenden Sie die folgende Syntax, um eine Spark-Eigenschaft in einem Notebook festzulegen:
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")
Konfigurieren von Spark-Eigenschaften in Databricks SQL
Databricks SQL ermöglicht Administratoren das Konfigurieren von Spark-Eigenschaften für den Datenzugriff im Menü „Arbeitsbereichseinstellungen“. Weitere Informationen finden Sie unter Aktivieren der Datenzugriffskonfiguration.
Abgesehen von Datenzugriffskonfigurationen lässt Databricks SQL nur wenige Spark-Konfigurationen zu, die aus Gründen der Einfachheit einen kürzeren Namen als Alias erhalten haben. Weitere Informationen finden Sie unter Konfigurationsparameter.
Für die meisten unterstützten SQL-Konfigurationen können Sie das globale Verhalten in Ihrer aktuellen Sitzung außer Kraft setzen. Im folgenden Beispiel wird der ANSI-Modus deaktiviert:
SET ANSI_MODE = false
Konfigurieren von Spark-Eigenschaften für Delta Live Tables-Pipelines
Mit Delta Live Tables können Sie Spark-Eigenschaften für eine Pipeline konfigurieren, für eine Computeressource, die für eine Pipeline konfiguriert ist, oder für einzelne Flows, materialisierte Sichten oder Streamingtabellen.
Sie können Pipeline- und Compute-Spark-Eigenschaften über die Benutzeroberfläche oder JSON festlegen. Siehe Konfigurieren einer Delta Live Tables-Pipeline.
Verwenden Sie die Option spark_conf
in DLT-Decoratorfunktionen, um Spark-Eigenschaften für Flows, Sichten oder Tabellen zu konfigurieren. Weitere Informationen finden Sie unter Eigenschaften von Python-Delta Live Tables.
Konfigurieren von Spark-Eigenschaften für serverlose Notebooks und Aufträge
Das Festlegen der meisten Spark-Eigenschaften für Notebooks oder Aufträge wird von serverlosem Computing nicht unterstützt. Im Folgenden sind die Eigenschaften aufgeführt, die Sie konfigurieren können:
Eigentum | Standard | Beschreibung |
---|---|---|
spark.databricks.execution.timeout |
9000 |
Das Ausführungstimeout in Sekunden für Spark Connect-Abfragen. Der Standardwert gilt ausschließlich für Notebooks, die auf serverlosem Computing ausgeführt werden. Bei Aufträgen, die auf serverlosem Computing und freigegebenen Clustern ausgeführt werden, ist kein Timeout vorhanden, sofern diese Eigenschaft nicht festgelegt ist. |
spark.sql.legacy.timeParserPolicy |
EXCEPTION |
Richtlinie für den Zeitparser |
spark.sql.session.timeZone |
Etc/UTC |
ID der lokalen Zeitzone der Sitzung im Format regionsbasierter Zonen-IDs oder Zonenoffsets |
spark.sql.shuffle.partitions |
auto |
Die Standardanzahl der Partitionen, die beim Mischen von Daten für Verknüpfungen oder Aggregationen verwendet werden sollen. |
spark.sql.ansi.enabled |
true |
Wenn wahr, verwendet Spark SQL einen ANSI-kompatiblen Dialekt, anstatt hive-kompatibel zu sein. |