環境バージョンの互換性
備考
ベータ版
Lakeflow Spark宣言型パイプライン(SDP)の環境バージョンはベータ版です。
環境バージョンが設定されたパイプラインは、 Spark Connectを介して Python コードを実行します。このページでは、互換性のない部分、動作が異なる部分、影響を受けるパターンをパイプラインでスキャンする方法、および既存のパイプラインを移行する方法について説明します。
制限事項
環境バージョンは、パイプラインのすべての機能とまだ互換性があるわけではありません。環境バージョンを設定したパイプラインの実行は、パイプラインのPythonコードが以下のいずれかに該当する場合に失敗します。
- パイプラインデコレータで装飾された関数内で、Sparkセッションの状態を変更します。例としては、
spark.conf.set(...)、spark.sql("USE CATALOG ...")、createOrReplaceTempViewなどがあります。 - Spark Connect では利用できないPySpark APIs使用します。これには
SparkContext、RDD、SQLContext、および Py4J APIs含まれます。 Spark Connectでサポートされている機能については、こちらをご覧ください。
パイプライン上で環境バージョンを有効にした結果、パイプラインが失敗した場合、その環境バージョンを無効にすると、パイプラインは以前の状態に戻ります。
行動の変化
Spark Connect には、従来のPySparkランタイムとの動作の違いがいくつかあります。 詳細については、 「Spark Connectと従来のSparkの比較」を参照してください。互換性スキャンはこれらのパターンを事前に検出し、対処されるまで有効化をブロックするため、本番運用データに影響が出る前にそれらを見つけて修正できます。
パイプラインにおいて、動作が異なる可能性のある最も一般的な状況は次のとおりです。