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

Lakeflow 宣言型パイプライン Python 言語リファレンス

このセクションでは、 Lakeflow 宣言型パイプライン Python プログラミング インターフェイスについて詳しく説明します。

dpモジュールの概要

LakeFlow宣言型パイプラインPython関数は、 pyspark.pipelinesモジュール ( dpとしてインポート) で定義されています。 Python API で実装されたパイプラインでは、このモジュールをインポートする必要があります。

Python
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リファレンス

Python Lakeflow 宣言型パイプラインに関する考慮事項

Lakeflow 宣言型パイプライン Python インターフェイスを使用してパイプラインを実装する場合の重要な考慮事項を次に示します。

  • Lakeflow 宣言型パイプラインは、計画中およびパイプラインの実行中に、パイプラインを定義するコードを複数回評価します。 データセットを定義する Python 関数には、テーブルまたはビューの定義に必要なコードのみを含める必要があります。データセット定義に任意の Python ロジックが含まれていると、予期しない動作が発生する可能性があります。
  • データセット定義にカスタム・モニタリング・ロジックを実装しようとしないでください。 「 イベント フックを使用した Lakeflow 宣言型パイプラインのカスタム モニタリングの定義」を参照してください
  • データセットを定義するために使用される関数は、Spark DataFrame を返す必要があります。返される DataFrame に関連しないロジックをデータセット定義に含めないでください。
  • ファイルやテーブルを保存または書き込むメソッドを Lakeflow 宣言型パイプライン データセット コードの一部として使用しないでください。

宣言型パイプライン コードで使用 てはならない Apache Spark操作の例を次に示します。Lakeflow

  • collect()
  • count()
  • toPandas()
  • save()
  • saveAsTable()
  • start()
  • toTable()