หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
Azure Databricks offers two ways to build materialized views and streaming tables: standalone pipelines, or Lakeflow pipelines. Both are built on Apache Spark™ Declarative Pipelines and produce Unity Catalog managed tables. The difference is how much of the pipeline you author and operate.
- A standalone materialized view or streaming table is a single dataset. Azure Databricks creates and manages a pipeline behind the scenes to refresh it. You create and refresh standalone datasets with SQL from a Databricks SQL warehouse, or from a notebook on serverless general compute with either
spark.sql()or the Python pipelines decorators. See Standalone materialized views and streaming tables. - A Lakeflow pipeline is a pipeline that you author and operate as a unit. It can contain many datasets, in SQL and Python, with dependency orchestration, lineage, and pipeline-wide operational features. See What are pipelines?.
When you create a standalone materialized view or streaming table, the managed pipeline appears on the Jobs & Pipelines page with a pipeline type of MV/ST. Datasets defined in a Lakeflow pipeline have a pipeline type of ETL.
When to use a standalone pipeline
Use standalone materialized views and streaming tables when:
- You accelerate queries or transform data with a single materialized view or streaming table.
- You work from a Databricks SQL warehouse, the SQL editor, or a notebook on serverless general compute, and schedule refreshes with
SCHEDULE,TRIGGER ON UPDATE, or a SQL task in a job. - You don't need sinks, multi-stage orchestration, or other pipeline-only features.
When to use a Lakeflow pipeline
Use a Lakeflow pipeline when:
- You build a multi-stage pipeline with intermediate datasets, where Azure Databricks manages dependencies and lineage across the datasets. Intermediate datasets can be published to the catalog or kept private to the pipeline.
- You author tables and flows in Python.
- You write to external Delta tables or event streaming destinations using sinks (
create_sink()orforeach_batch_sink()). - You apply change data capture from a database snapshot using
create_auto_cdc_from_snapshot_flow(). - You want triggered or continuous execution across the whole pipeline.
Comparison
| Property | Standalone streaming table or materialized view | Pipeline streaming table or materialized view |
|---|---|---|
| Authoring interface | SQL syntax, from a Databricks SQL warehouse or with spark.sql() in a notebook on serverless general compute. In a notebook, you can also define the dataset in Python with the @materialized_view and @table decorators |
SQL and Python |
| Scope | One dataset, in a pipeline that Azure Databricks manages for you | Many datasets in one pipeline, with dependency orchestration and lineage |
| Execution | Triggered, with SCHEDULE, TRIGGER ON UPDATE, or a SQL task |
Triggered or continuous |
| Pipeline-only features | Sinks, create_auto_cdc_from_snapshot_flow(), private datasets |
|
| Pipeline type label | MV/ST |
ETL |
| Move between pipelines | Not supported; recreate the table in the target pipeline | Supported |