Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Antarmuka Python untuk pipeline Lakeflow didefinisikan dalam modul pyspark.pipelines, diimpor sebagai dp.
- Untuk informasi konseptual dan gambaran umum penggunaan Python untuk alur, lihat Mengembangkan kode alur dengan Python.
- Untuk referensi SQL, lihat referensi bahasa Pipeline SQL.
- Untuk detail khusus untuk mengonfigurasi Auto Loader, lihat Apa itu Auto Loader?.
pipelines gambaran umum modul
Fungsi Python untuk pipeline Lakeflow didefinisikan di dalam modul pyspark.pipelines (diimpor sebagai dp). Alur Anda yang diimplementasikan dengan Python API harus mengimpor modul ini:
from pyspark import pipelines as dp
Nota
Modul pipeline hanya tersedia dalam konteks pipeline. Fitur ini tidak tersedia di Python yang berjalan di luar konteks pipeline. Untuk informasi selengkapnya tentang mengedit kode alur, lihat Mengembangkan dan men-debug alur ETL dengan Editor Alur Lakeflow.
Alur Apache Spark™
Apache Spark mencakup alur deklaratif yang dimulai di Spark 4.1, tersedia melalui pyspark.pipelines modul. Databricks Runtime memperluas kemampuan sumber terbuka ini dengan API dan integrasi tambahan untuk penggunaan produksi terkelola.
Kode yang ditulis dengan modul sumber pipelines terbuka berjalan tanpa modifikasi pada Azure Databricks. Fitur berikut bukan bagian dari Apache Spark:
dp.create_auto_cdc_flowdp.create_auto_cdc_from_snapshot_flow@dp.expect(...)
pipelines Modul sebelumnya dipanggil dlt di Azure Databricks. Untuk detail lebih lanjut, dan informasi selengkapnya tentang perbedaan dari Apache Spark, lihat Apa yang terjadi dengan @dlt?.
Fungsi untuk definisi himpunan data
Pipeline menggunakan dekorator Python untuk menentukan himpunan data seperti tampilan materialisasi dan tabel streaming. Lihat Fungsi untuk menentukan himpunan data.
Referensi Antarmuka Pemrograman Aplikasi (API)
- append_flow (fungsi menambahkan aliran)
- create_auto_cdc_flow
- create_auto_cdc_from_snapshot_flow
- create_table
- membuat_saluran
- buat_tabel_streaming
- Harapan
- foreach_batch_sink
- materialized_view
- replace_flow
- table
- temporary_view
- update_flow
Persyaratan pengkodian untuk alur Python
Berikut adalah persyaratan penting saat mengimplementasikan pipeline dengan antarmuka Python Lakeflow Pipelines:
- Pipeline Lakeflow mengevaluasi kode yang mendefinisikan pipeline beberapa kali selama perencanaan dan eksekusi pipeline. Fungsi Python yang menentukan himpunan data hanya boleh menyertakan kode yang diperlukan untuk menentukan tabel atau tampilan. Logika Python arbitrer yang disertakan dalam definisi himpunan data dapat menyebabkan perilaku yang tidak terduga.
- Jangan mencoba menerapkan logika pemantauan kustom dalam definisi himpunan data Anda. Lihat Menentukan pemantauan kustom alur dengan kait peristiwa.
- Fungsi yang digunakan untuk menentukan himpunan data harus mengembalikan Spark DataFrame. Jangan sertakan logika dalam definisi himpunan data Anda yang tidak terkait dengan DataFrame yang dikembalikan.
- Jangan pernah menggunakan metode yang menyimpan atau menulis ke file atau tabel sebagai bagian dari kode himpunan data alur Anda.
Contoh operasi Apache Spark yang tidak boleh digunakan dalam kode alur:
collect()count()toPandas()save()saveAsTable()start()toTable()
Apa yang terjadi dengan @dlt?
Sebelumnya, Azure Databricks menggunakan dlt modul untuk mendukung fungsionalitas alur. Modul dlt telah digantikan oleh pyspark.pipelines modul. Anda mungkin masih menggunakan dlt, tetapi Databricks merekomendasikan penggunaan pipelines.
Perbedaan antara alur DLT, Lakeflow, dan Alur Deklaratif Apache Spark
Tabel berikut menunjukkan perbedaan sintaksis dan fungsionalitas antara alur DLT, Lakeflow, dan Alur Deklaratif Apache Spark.
Untuk perbandingan pada tingkat fitur mengenai apa yang dimiliki bersama oleh pipeline Lakeflow dan apa yang ditambahkan pada Apache Spark Declarative Pipelines, lihat Pipeline Deklaratif Apache Spark.
Untuk pemetaan per properti dari konfigurasi pipeline ke spesifikasi proyek SDP, lihat Referensi properti pipeline.
Nota
Dalam dokumentasi Databricks, produk Databricks disebut alur Lakeflow, dan kerangka kerja sumber terbuka yang diperluasnya adalah Apache Spark™ Declarative Pipelines (SDP). Keduanya dapat dioperasikan tetapi berbeda dalam fitur—misalnya, AUTO CDC API hanya tersedia di alur Lakeflow.
| Area | Sintaks DLT | Sintaks SDP (Lakeflow dan Apache, jika berlaku) | Tersedia di Apache Spark |
|---|---|---|---|
| Impor | import dlt |
from pyspark import pipelines (as dp, opsional) |
Yes |
| Tabel streaming |
@dlt.table dengan dataframe streaming |
@dp.table |
Yes |
| Tampilan Terwujud |
@dlt.table dengan kerangka data batch |
@dp.materialized_view |
Yes |
| Tampilkan | @dlt.view |
@dp.temporary_view |
Yes |
| Tambahkan alur | @dlt.append_flow |
@dp.append_flow |
Yes |
| Alur pembaruan | Unavailable | @dp.update_flow |
Tidak. |
| SQL – streaming | CREATE STREAMING TABLE ... |
CREATE STREAMING TABLE ... |
Yes |
| SQL – terwujud | CREATE MATERIALIZED VIEW ... |
CREATE MATERIALIZED VIEW ... |
Yes |
| SQL – aliran proses | CREATE FLOW ... |
CREATE FLOW ... |
Yes |
| Catatan peristiwa | spark.read.table("event_log") |
spark.read.table("event_log") |
Tidak. |
| Terapkan Perubahan (CDC) | dlt.apply_changes(...) |
dp.create_auto_cdc_flow(...) |
Tidak. |
| Expectations | @dlt.expect(...) |
dp.expect(...) |
Tidak. |
| Mode berkelanjutan | Konfigurasi pipa dengan pemicu berkesinambungan | (sama) | Tidak. |
| Wastafel | @dlt.create_sink(...) |
dp.create_sink(...) |
Yes |
| UntukSetiapBatch sink | Unavailable | @dp.foreach_batch_sink(...) |
Tidak. |