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.
Anda dapat menulis Python kode sumber alur di lingkungan pengembangan terintegrasi (IDE) pilihan Anda, menjalankannya secara lokal untuk pengujian, lalu memvalidasi, menyebarkan, dan menjalankan pembaruan di ruang kerja Azure Databricks Anda tanpa meninggalkan lingkungan lokal Anda.
Alur Lakeflow adalah superset dari Apache Spark™ Declarative Pipelines. Kode yang hanya menggunakan API Alur Deklaratif Apache Spark berjalan baik secara lokal maupun di Azure Databricks, tetapi kode yang menggunakan fitur unik untuk alur Lakeflow, seperti AUTO CDC dan ekspektasi, hanya berjalan pada Azure Databricks. Untuk mengetahui perbedaan fitur, lihat referensi bahasa Python Lakeflow pipelines.
Untuk pengembangan dan pengujian interaktif di ruang kerja Azure Databricks, gunakan Editor Alur Lakeflow. Lihat Mengembangkan dan men-debug alur ETL dengan Editor Alur Lakeflow.
Menulis kode alur dengan dukungan IDE
Tulis kode pipeline menggunakan modul pyspark.pipelines, yang diimpor sebagai dp:
from pyspark import pipelines as dp
Karena modul adalah bagian dari Apache Spark, IDE Anda menyediakan pemeriksaan sintaksis, lengkapi otomatis, dan pemeriksaan jenis saat Anda menulis. Kode Alur Deklaratif Apache Spark biasanya berjalan tanpa modifikasi pada Azure Databricks. Menjalankan perintah impor yang sama di pipeline Lakeflow akan mengimpor versi Azure Databricks dari pipelines. Untuk referensi lengkap Python untuk pipeline Lakeflow, lihat Referensi bahasa Python untuk pipeline Lakeflow.
Logika transformasi terpisah untuk pengujian lokal
Cara paling efektif untuk membuat kode pipeline dapat diuji secara lokal adalah dengan menjaga logika transformasi Anda tetap dalam fungsi PySpark biasa, terpisah dari dp dekorator. Fungsi yang menerima DataFrame dan mengembalikan DataFrame tidak memiliki dependensi pada runtime pipeline Lakeflow, sehingga Anda dapat mengujinya dengan pytest di mesin lokal Anda, seperti kode Apache Spark lainnya. Jaga agar fungsi yang didekorasi tetap tipis, sehingga mereka mengimpor logika dan menyebutnya:
# transformations/clean.py — pure PySpark, unit-testable on its own
def clean_orders(df):
return df.filter("quantity > 0").withColumn("amount_usd", df.amount.cast("double"))
# pipeline file — a thin dp wrapper that imports and calls the logic
from pyspark import pipelines as dp
from transformations.clean import clean_orders
@dp.table(name="orders_silver")
def orders_silver():
return clean_orders(spark.readStream.table("orders_bronze"))
Anda dapat mengemas logika bersama sebagai roda untuk digunakan kembali di berbagai pipeline. Untuk panduan lengkap tentang cara menulis dan menjalankan pengujian unit, lihat Pengujian unit untuk pipeline.
Jalankan pipeline secara lokal untuk pengujian
Anda juga dapat menjalankan alur secara lokal untuk mengembangkan dan menguji kode Anda sebelum menjalankannya di Azure Databricks.
spark-pipelines Gunakan antarmuka baris perintah untuk menginisialisasi, memvalidasi, dan menjalankan alur dengan Apache Spark lokal. Lihat Panduan Pemrograman Alur Deklaratif Spark dalam dokumentasi Apache Spark.
Sebuah pipeline lengkap mencakup tiga lapisan pengujian yang saling melengkapi, dan Anda dapat menjalankan dua di antaranya secara lokal:
-
Pengujian unit untuk logika transformasi Anda, yang dijalankan dengan
pytestterhadap fungsi-fungsi PySpark biasa yang dijelaskan di atas. Ini tidak memerlukan runtime pipeline. Lihat Pengujian unit untuk alur. -
Validasi (dry run) graf pipeline, kode sumber, dan referensi set data, yang dilakukan menggunakan
spark-pipelinessecara lokal ataudatabricks pipelines dry-runterhadap ruang kerja Anda—tanpa menuliskan data apa pun. - Ekspektasi, yang mengevaluasi aturan kualitas data pada setiap baris setiap run. Karena fitur ini adalah fitur runtime pipeline Lakeflow, mereka hanya berjalan di Azure Databricks, bukan secara lokal. Lihat Mengelola kualitas data dengan ekspektasi alur kerja.
Anda tidak dapat menjalankan atau menguji fungsionalitas yang khusus untuk alur Lakeflow secara lokal. Ini termasuk ekspektasi dan AUTO CDC fungsi.
Menjalankan alur di Azure Databricks dari lingkungan lokal Anda
databricks pipelines Gunakan grup perintah untuk memvalidasi, menyebarkan, dan menjalankan pembaruan alur di ruang kerja Anda, langsung dari terminal Anda:
databricks pipelines init # scaffold a pipeline project
databricks pipelines dry-run # validate the pipeline graph without publishing data
databricks pipelines deploy # deploy the project to your workspace
databricks pipelines run # run an update
Pembaruan alur berjalan di ruang kerja Azure Databricks Anda, bukan di komputer lokal Anda, menggunakan komputasi yang dikonfigurasi untuk alur. Perintah ini dapat saling beroperasi dengan perintah Bundel Otomatisasi Deklaratif bundle, sehingga Anda dapat memulai dengan proyek sederhana dan mengadopsi konfigurasi bundel serta praktik CI/CD seiring berkembangnya proyek. Untuk menginstal dan mengonfigurasi CLI, lihat Menginstal atau memperbarui Databricks CLI. Untuk referensi perintah lengkap, lihat pipelines grup perintah. Untuk panduan langkah demi langkah, lihat Mengembangkan alur dengan Bundel Otomatisasi Deklaratif.
Menyinkronkan kode alur dari IDE Anda ke ruang kerja
Tabel berikut ini meringkas opsi untuk menyinkronkan kode sumber alur antara IDE lokal Anda dan ruang kerja Azure Databricks:
| Alat atau pola | Detail lebih lanjut |
|---|---|
Databricks CLI (pipelines grup perintah) |
databricks pipelines Gunakan perintah untuk menyebarkan dan menjalankan proyek alur dari lingkungan lokal Anda. Lihat pipelines grup perintah. |
| Paket Otomatisasi Deklaratif | Gunakan Bundel Otomatisasi Deklaratif untuk menyebarkan aset alur mulai dari satu file kode sumber hingga konfigurasi untuk beberapa alur, pekerjaan, dan file kode sumber. Lihat Mengonversi alur menjadi proyek bundel. |
| Ekstensi Databricks IDE | Azure Databricks menyediakan integrasi dengan Visual Studio Code yang mencakup sinkronisasi mudah antara IDE lokal dan file ruang kerja Anda. Ekstensi ini juga menyediakan alat untuk menggunakan Bundel Otomatisasi Deklaratif untuk menyebarkan aset alur. Lihat ekstensi Databricks IDE. |
| Berkas Ruang Kerja | Anda dapat menggunakan file ruang kerja Databricks untuk mengunggah kode sumber alur ke ruang kerja Databricks Anda lalu mengimpor kode tersebut ke dalam alur. Lihat Apa itu file ruang kerja?. |
| Folder Git | Folder Git memungkinkan Anda menyinkronkan kode antara lingkungan lokal dan ruang kerja Azure Databricks menggunakan repositori Git sebagai perantara. Lihat folder Git Azure Databricks. |