Dagster adalah orkestrator saluran data cloud-native untuk seluruh siklus pengembangan, dengan garis keturunan dan kemampuan observasi yang terintegrasi, model pemrograman deklaratif, dan kemampuan pengujian terbaik di kelasnya.
Ini dirancang untuk mengembangkan dan memelihara aset data , seperti tabel, kumpulan data, model pembelajaran mesin, dan laporan.
Dengan Dagster, Anda mendeklarasikan—sebagai fungsi Python—aset data yang ingin Anda buat. Dagster kemudian membantu Anda menjalankan fungsi pada waktu yang tepat dan selalu memperbarui aset Anda.
Berikut adalah contoh grafik tiga aset yang didefinisikan dengan Python:
from dagster import asset
from pandas import DataFrame , read_html , get_dummies
from sklearn . linear_model import LinearRegression
@ asset
def country_populations () -> DataFrame :
df = read_html ( "https://tinyurl.com/mry64ebh" )[ 0 ]
df . columns = [ "country" , "pop2022" , "pop2023" , "change" , "continent" , "region" ]
df [ "change" ] = df [ "change" ]. str . rstrip ( "%" ). str . replace ( "−" , "-" ). astype ( "float" )
return df
@ asset
def continent_change_model ( country_populations : DataFrame ) -> LinearRegression :
data = country_populations . dropna ( subset = [ "change" ])
return LinearRegression (). fit ( get_dummies ( data [[ "continent" ]]), data [ "change" ])
@ asset
def continent_stats ( country_populations : DataFrame , continent_change_model : LinearRegression ) -> DataFrame :
result = country_populations . groupby ( "continent" ). sum ()
result [ "pop_change_factor" ] = continent_change_model . coef_
return result
Grafik dimuat ke UI web Dagster:
Dagster dibuat untuk digunakan di setiap tahap siklus hidup pengembangan data - pengembangan lokal, pengujian unit, pengujian integrasi, lingkungan pementasan, hingga produksi.
Jika Anda baru mengenal Dagster, kami sarankan untuk membaca konsep intinya atau belajar dengan tutorial langsung.
Dagster tersedia di PyPI dan secara resmi mendukung Python 3.9 hingga Python 3.12.
pip install dagster dagster-webserver
Ini menginstal dua paket:
dagster
: Model pemrograman inti.dagster-webserver
: Server yang menghosting UI web Dagster untuk mengembangkan dan mengoperasikan tugas dan aset Dagster.Berjalan di Mac dengan chip silikon Apple? Periksa detail pemasangan di sini.
Anda dapat menemukan dokumentasi lengkap Dagster di sini, termasuk panduan 'memulai'.
Identifikasi aset utama yang perlu Anda buat menggunakan pendekatan deklaratif, atau Anda dapat fokus menjalankan tugas-tugas dasar. Gunakan praktik terbaik CI/CD sejak awal: buat komponen yang dapat digunakan kembali, temukan masalah kualitas data, dan tandai bug sejak dini.
Masukkan saluran pipa Anda ke dalam produksi dengan mesin multi-penyewa dan multi-alat tangguh yang dapat diskalakan secara teknis dan organisasi.
Pertahankan kendali atas data Anda seiring dengan meningkatnya kompleksitas. Pusatkan metadata Anda dalam satu alat dengan kemampuan observasi, diagnostik, pembuatan katalog, dan silsilah bawaan. Temukan masalah apa pun dan identifikasi peluang peningkatan kinerja.
Dagster menyediakan perpustakaan integrasi yang berkembang untuk alat data terpopuler saat ini. Integrasikan dengan alat yang sudah Anda gunakan, dan terapkan ke infrastruktur Anda.
Terhubung dengan ribuan praktisi data lainnya yang membangun dengan Dagster. Bagikan pengetahuan, dapatkan bantuan, dan berkontribusi pada proyek sumber terbuka. Untuk melihat materi unggulan dan acara mendatang, lihat halaman Komunitas Dagster kami.
Bergabunglah dengan komunitas kami di sini:
Untuk detail mengenai kontribusi atau menjalankan proyek untuk pengembangan, lihat panduan kontribusi kami.
Dagster berlisensi Apache 2.0.