次の方法で共有


Azure Databricks で Spark 構成プロパティを設定する

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

通常、Databricks では、Spark のほとんどのプロパティを構成することをお勧めします。 特に、オープンソースの Apache Spark から移行する場合、または Databricks Runtime のバージョンをアップグレードする場合、従来の Spark 構成が、ワークロードを最適化する新しい既定の動作をオーバーライドする可能性があります。

Azure Databricks には、Spark プロパティによって制御される多くの動作に対して、テーブル レベルで動作を有効にするか、書き込み操作の一部としてカスタム動作を構成するオプションも用意されています。 たとえば、以前スキーマの進化は 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")

スカラ (プログラミング言語)

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

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

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

Databricks SQL では、データ アクセス構成以外の一部の Spark conf のみが許可されます。これらは、簡略にするために短い名前のエイリアスが付いています。 「構成パラメーターを設定する」を参照してください。

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

SET ANSI_MODE = false

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

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

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

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

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

サーバーレス コンピューティングでは、ノートブックまたはジョブのほとんどの 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 構成の現在の設定を取得する

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

spark.conf.get("configuration_name")