Lakeflow 宣言型パイプライン Python 言語リファレンス
このセクションでは、 Lakeflow 宣言型パイプライン Python プログラミング インターフェイスについて詳しく説明します。
- Python for Lakeflow 宣言型パイプラインの概念情報と使用の概要については、「Pythonを使用したパイプラインコードの開発」を参照してください。
- SQLリファレンスについては、Lakeflow 宣言型パイプライン SQL 言語リファレンスを参照してください。
- Auto Loader の設定に関する詳細については、 「Auto Loader とは」を参照してください。
dp
モジュールの概要
LakeFlow宣言型パイプラインPython関数は、 pyspark.pipelines
モジュール ( dp
としてインポート) で定義されています。 Python API で実装されたパイプラインでは、このモジュールをインポートする必要があります。
from pyspark import pipelines as dp
pyspark
の公開オープンソース バージョンには、 pipelines
モジュールも含まれています。コードの多くは、Databricks 内で使用されているバージョンと互換性があります。オープンソース バージョンで記述されたコードは Databricks で動作します。ただし、 pipelines
の Databricks バージョンには、OSS pyspark
では動作しない機能がいくつかあります。次の機能は互換性がありません:
dp.create_auto_cdc_flow
dp.create_auto_cdc_from_snapshot_flow
@dp.expect(...)
@dp.temporary_view
@dlt
に何が起こったのでしょうか?
以前は、 Databricks dlt
モジュールを使用してLakeFlow宣言型パイプライン機能をサポートしていました。 dlt
モジュールはpyspark.pipelines
モジュールに置き換えられました。引き続きdlt
使用することもできますが、Databricks ではpipelines
使用を推奨しています。
データセット定義のための関数
LakeFlow宣言型パイプラインは、マテリアライズドビューやストリーミングテーブルなどのデータセットの定義にPythonデコレーターを使用します。 データセットを定義する関数を参照してください。
APIリファレンス
- append_flow
- 自動cdcフローを作成する
- スナップショットフローから自動 CDC を作成する
- シンクを作成する
- ストリーミングテーブルの作成
- エクスペクテーション
- マテリアライズドビュー
- テーブル
- 一時ビュー
Python Lakeflow 宣言型パイプラインに関する考慮事項
Lakeflow 宣言型パイプライン Python インターフェイスを使用してパイプラインを実装する場合の重要な考慮事項を次に示します。
- Lakeflow 宣言型パイプラインは、計画中およびパイプラインの実行中に、パイプラインを定義するコードを複数回評価します。 データセットを定義する Python 関数には、テーブルまたはビューの定義に必要なコードのみを含める必要があります。データセット定義に任意の Python ロジックが含まれていると、予期しない動作が発生する可能性があります。
- データセット定義にカスタム・モニタリング・ロジックを実装しようとしないでください。 「 イベント フックを使用した Lakeflow 宣言型パイプラインのカスタム モニタリングの定義」を参照してください。
- データセットを定義するために使用される関数は、Spark DataFrame を返す必要があります。返される DataFrame に関連しないロジックをデータセット定義に含めないでください。
- ファイルやテーブルを保存または書き込むメソッドを Lakeflow 宣言型パイプライン データセット コードの一部として使用しないでください。
宣言型パイプライン コードで使用 てはならない Apache Spark操作の例を次に示します。Lakeflow
collect()
count()
toPandas()
save()
saveAsTable()
start()
toTable()