メインコンテンツまでスキップ

Databricks での Spark 構成プロパティの設定

Spark構成プロパティ (Spark confs) を設定して、コンピュート環境の設定をカスタマイズできます。

Databricks では、通常、ほとんどの Spark プロパティを構成しないことを推奨しています。 特に、オープンソース Apache Spark から移行する場合や Databricks Runtime バージョンをアップグレードする場合、従来の Spark 構成は、ワークロードを最適化する新しいデフォルト動作を上書きする可能性があります。

Spark プロパティによって制御される多くの動作について、Databricks には、テーブル レベルで動作を有効にするオプション、または書き込み操作の一部としてカスタム動作を構成するオプションも用意されています。 たとえば、スキーマの進化は以前は Spark プロパティによって制御されていましたが、現在は SQL、 Python、および Scalaでカバーされています。 マージのスキーマ進化構文を参照してください。

ノートブックとジョブの Spark プロパティを構成する

ノートブックとジョブの Spark プロパティを設定できます。 構成の範囲は、設定方法によって異なります。

構成されたプロパティ:

適用対象:

コンピュート設定の使用

すべてのノートブックとジョブは、コンピュート リソースを使用して実行されます。

ノートブック内

現在のノートブックの SparkSession のみ。

コンピュート レベルで Spark プロパティを構成する手順については、「 Spark 構成」を参照してください。

ノートブックで Spark プロパティを設定するには、次の構文を使用します。

SQL
SET spark.sql.ansi.enabled = true

Databricks SQL で Spark プロパティを構成する

Databricks SQL を使用すると、管理者はワークスペース設定メニューでデータ アクセスの Spark プロパティを構成できます。 「データ アクセス構成」を参照してください

データ アクセス構成以外に、Databricks SQL では、簡単にするために短い名前にエイリアス化された Spark conf はほんの一握りしか許可されません。 「構成パラメーター」を参照してください。

サポートされているほとんどの SQL 設定では、現在のセッションでグローバル動作を上書きできます。 次の例では、ANSI モードをオフにします。

SQL
SET ANSI_MODE = false

Lakeflow Spark宣言型パイプラインのSparkプロパティを構成する

Lakeflow Spark宣言型パイプラインを使用すると、パイプライン、パイプラインに構成された 1 つのコンピュート リソース、または個々のフロー、マテリアライズドビュー、またはストリーミング テーブルに対してSparkプロパティを構成できます。

UI またはJSONを使用して、パイプラインとコンピュートSparkプロパティを設定できます。 「パイプラインの構成」を参照してください。

Lakeflow Spark宣言型パイプライン デコレーター関数のspark_confオプションを使用して、フロー、ビュー、またはテーブルのSparkプロパティを構成します。 Lakeflow Spark宣言型パイプラインPython言語リファレンス」を参照してください。

サーバレス ノートブック と ジョブの Spark プロパティの設定

Severless コンピュートは、ノートブックまたはジョブのほとんどの Spark プロパティの設定をサポートしていません。 構成できるプロパティは次のとおりです。

属性

デフォルト

説明

spark.databricks.execution.timeout

9000 (ノートブックにのみ適用されます)

Spark Connect クエリの実行タイムアウト (秒単位)。デフォルト値はノートブック クエリにのみ適用されます。サーバレス コンピュートで実行されているジョブ (およびクラシック標準コンピュートで実行されているジョブ) の場合、このプロパティが設定されていない限り、タイムアウトはありません。

spark.sql.legacy.timeParserPolicy

CORRECTED

タイムパーサーポリシー。

spark.sql.session.timeZone

Etc/UTC

セッションのローカルタイムゾーンの ID (リージョンベースのゾーン ID またはゾーンオフセットの形式)。

spark.sql.shuffle.partitions

auto

結合または集計のためにデータをシャッフルするときに使用するパーティションのデフォルト数。

spark.sql.ansi.enabled

true

true の場合、Spark SQL は Hive 準拠ではなく ANSI 準拠のダイアレクトを使用します。

spark.sql.files.maxPartitionBytes

134217728 (128 MB)

ファイルを読み取るときに 1 つのパーティションにパックする最大バイト数。

Spark 構成の現在の設定を取得する

次の構文を使用して、Spark 構成の現在の設定を確認します。

Python
spark.conf.get("configuration_name")