Mage: Bikin Data Pipeline Modern yang Rasanya Kayak Ngoding di Notebook

# Mage: Bikin Data Pipeline Modern yang Rasanya Kayak Ngoding di Notebook Halo temen-temen, ketemu lagi sama aku Ruby Abdullah. Kali ini aku mau ngajak kalian kenalan sama satu tool yang menurutku cu...

By Ruby Abdullah · · tutorial
MageData PipelineData EngineeringETLOrchestration

Mage: Bikin Data Pipeline Modern yang Rasanya Kayak Ngoding di Notebook

Halo temen-temen, ketemu lagi sama aku Ruby Abdullah. Kali ini aku mau ngajak kalian kenalan sama satu tool yang menurutku cukup nyegerin di dunia data engineering, namanya Mage (repo-nya mage-ai). Kenapa aku bilang nyegerin? Karena selama ini kalau ngomongin orkestrasi data pipeline, yang kepikiran pasti Airflow. Airflow itu powerful banget, tapi jujur aja pengalaman ngoding di dalamnya kadang bikin capek. Kita harus nulis DAG, mikirin operator, ngurusin XCom buat oper data antar task, dan siklus develop-nya lambat karena harus deploy dulu baru bisa lihat hasilnya.

Nah, Mage ini datang dengan filosofi yang beda. Dia gabungin dua dunia yang biasanya kepisah, yaitu kenyamanan ngoding interaktif kayak di Jupyter Notebook sama kekuatan orkestrasi pipeline yang beneran production-ready. Jadi kalian nulis kode per blok, tiap blok bisa langsung dijalanin dan lihat outputnya seketika, tapi di saat yang sama blok-blok itu udah membentuk pipeline yang bisa dijadwalin dan di-deploy. Buat aku ini semacam jalan tengah yang pas banget, terutama buat tim data yang isinya campuran antara data scientist sama data engineer.

Di tutorial ini aku bakal bahas dari nol. Kita mulai dari instalasi, terus bikin project pertama, ngerti konsep blok (data loader, transformer, data exporter), main di UI interaktifnya, nulis blok pakai Python dan SQL, atur scheduling atau trigger, sampai akhirnya gimana caranya nge-deploy biar pipeline-nya jalan otomatis. Aku bakal kasih banyak contoh kode yang beneran bisa kalian jalanin sendiri. Yuk kita mulai.

Introduction: Apa Sih Mage Itu

Sebelum masuk teknis, aku pengen kalian paham dulu posisi Mage di ekosistem data. Mage itu tool open-source buat transform dan integrasi data. Kalau kalian pernah dengar istilah ETL (Extract, Transform, Load) atau ELT, nah Mage ini alatnya buat bangun proses kayak gitu. Bedanya sama tool lain, Mage nawarin pengalaman developer yang jauh lebih enak.

Ada beberapa konsep inti yang harus temen-temen pahami. Yang pertama adalah pipeline. Pipeline itu ibarat resep masakan, dia berisi rangkaian langkah buat ngolah data dari sumber sampai tujuan akhir. Yang kedua adalah block. Nah ini yang khas dari Mage. Satu pipeline itu terdiri dari beberapa block, dan tiap block itu sebenernya cuma sebuah file kode (biasanya Python atau SQL) yang punya satu tanggung jawab spesifik.

Block di Mage ada beberapa tipe utama. Ada data loader yang tugasnya narik data dari sumber, misal dari database, API, atau file CSV. Ada transformer yang tugasnya ngolah dan ngubah data, misal bersihin data kotor, agregasi, atau join. Terus ada data exporter yang tugasnya nyimpen hasil olahan ke tujuan akhir, misal ke data warehouse kayak BigQuery atau Snowflake. Ada juga tipe lain kayak sensor, scratchpad, dan custom, tapi tiga yang tadi itu yang paling sering dipakai.

Yang bikin aku suka, tiap block itu ngasilin output yang otomatis bisa dipakai sama block berikutnya. Jadi kalian nggak perlu ribet ngurusin gimana caranya oper DataFrame dari satu langkah ke langkah lain, semuanya diurusin sama Mage. Block yang terhubung itu membentuk sebuah graph atau DAG (Directed Acyclic Graph), sama kayak Airflow, cuma cara nulisnya jauh lebih intuitif.

Satu hal lagi yang perlu temen-temen tau, Mage punya UI berbasis web yang jadi tempat kalian ngerjain semuanya. Jadi kalian nggak perlu bolak-balik antara editor kode sama terminal. Semua proses develop, jalanin block, lihat output, sampai atur jadwal, itu dilakuin lewat satu antarmuka yang rapi. Tapi tenang, semua yang kalian bikin di UI itu tetep disimpen sebagai file kode di project kalian, jadi tetep bisa masuk ke Git dan version control.

Instalasi: Mulai dari Nol

Oke sekarang kita masuk ke bagian instalasi. Cara paling gampang buat install Mage adalah pakai pip. Aku sangat saranin kalian bikin virtual environment dulu biar dependency-nya nggak nyampur sama project lain. Ini best practice yang bakal aku tekanin terus.

# Bikin folder project dan virtual environment dulu

mkdir belajar-mage

cd belajar-mage

Bikin virtual environment

python3 -m venv venv

Aktifin virtual environment (Linux/Mac)

source venv/bin/activate

Kalau di Windows pakai ini

venv\Scripts\activate

Baru install mage-ai

pip install mage-ai

Instalasi standar tadi udah cukup buat mulai belajar. Tapi kalau temen-temen nanti butuh integrasi ke database atau warehouse tertentu, Mage nyediain extra dependency yang bisa kalian install sesuai kebutuhan. Contohnya kalau mau konek ke Postgres, BigQuery, atau butuh semua fitur, kalian bisa install kayak gini.

# Install dengan dukungan Postgres

pip install "mage-ai[postgres]"

Install dengan dukungan Google BigQuery

pip install "mage-ai[google-cloud-platform]"

Install semua konektor sekaligus (agak berat, hati-hati)

pip install "mage-ai[all]"

Setelah instalasi kelar, coba cek dulu apakah command mage udah kebaca di terminal kalian.

mage --version

Kalau muncul nomor versinya, berarti instalasi kalian sukses. Buat temen-temen yang lebih nyaman pakai Docker, Mage juga nyediain image resmi. Ini pilihan bagus kalau kalian mau lingkungan yang konsisten dan gampang di-share ke tim. Ini contoh cara jalanin Mage lewat Docker.

# Tarik dan jalanin Mage pakai Docker

docker run -it -p 6789:6789 \

-v $(pwd):/home/src \

mageai/mageai:latest \

/app/runapp.sh mage start belajarmage

Perintah di atas bakal mapping folder kerja kalian ke dalam container dan buka port 6789 yang jadi port default UI Mage. Tapi buat tutorial ini aku bakal fokus pakai instalasi pip biar lebih gampang diikutin. Docker aku sebutin aja biar kalian tau opsinya ada.

Basic Usage: Bikin Project dan Pipeline Pertama

Sekarang bagian yang seru. Kita bakal bikin project Mage pertama kita. Buat mulai sebuah project baru, kalian tinggal jalanin command mage start diikuti nama project-nya.

# Mulai project baru bernama belajarmage

mage start belajarmage

Begitu kalian jalanin command ini, Mage bakal ngelakuin dua hal. Pertama dia bikin struktur folder project di direktori kalian. Kedua dia nyalain web server dan bikin UI-nya bisa diakses. Secara default UI-nya jalan di http://localhost:6789. Buka alamat itu di browser kalian, dan kalian bakal disambut sama tampilan dashboard Mage yang bersih.

Coba deh lihat isi folder project yang tadi kebentuk. Strukturnya kira-kira kayak gini.

belajarmage/

├── magedata/ # Data internal dan cache Mage

├── dataloaders/ # File-file block data loader

├── transformers/ # File-file block transformer

├── dataexporters/ # File-file block data exporter

├── pipelines/ # Definisi tiap pipeline

├── ioconfig.yaml # Konfigurasi koneksi ke database/warehouse

├── metadata.yaml # Metadata project

└── requirements.txt # Dependency tambahan project

Nah dari struktur ini aja udah kelihatan gimana Mage ngatur segalanya dengan rapi. Tiap tipe block punya foldernya sendiri, dan tiap pipeline definisinya disimpen di folder pipelines. Ini yang aku suka, karena semuanya transparan dan gampang di-track pakai Git.

Sekarang mari kita bikin pipeline pertama lewat UI. Di dashboard, klik tombol buat bikin pipeline baru, pilih yang tipe standar (batch). Kasih nama pipeline-nya, misal contohetlpenjualan. Setelah itu kalian bakal masuk ke editor pipeline, tempat kalian bakal nyusun block-block-nya.

Mari kita mulai dari data loader. Klik tombol tambah block, pilih Data loader, terus pilih template Python generic. Mage bakal generate sebuah fungsi dengan decorator @dataloader. Aku bakal isi kodenya buat narik data dummy penjualan. Di dunia nyata kalian bisa ganti ini jadi baca dari API atau database.

import pandas as pd

if 'dataloader' not in globals():

from mageai.datapreparation.decorators import dataloader

@dataloader

def loaddata(args, kwargs):

"""

Block ini narik data mentah penjualan.

Di sini aku pakai data dummy, tapi bisa diganti baca CSV atau API.

"""

data = {

'orderid': [1, 2, 3, 4, 5],

'produk': ['Kelas AI', 'Kelas Data', 'Kelas AI', 'Ebook', 'Kelas Data'],

'harga': [500000, 350000, 500000, 75000, 350000],

'jumlah': [2, 1, 3, 5, 2],

'kota': ['Jakarta', 'Bandung', 'jakarta', 'Surabaya', 'Bandung'],

}

df = pd.DataFrame(data)

return df

Perhatiin decorator @dataloader di atas fungsi itu. Itu yang ngasih tau Mage bahwa fungsi ini adalah block data loader. Nilai yang di-return dari fungsi ini bakal otomatis jadi input buat block berikutnya. Sekarang coba klik tombol run di block itu (biasanya ada ikon play). Di bawah block, kalian bakal langsung lihat preview DataFrame-nya. Nah ini feel notebook yang aku maksud tadi, langsung jalan dan langsung kelihatan hasilnya.

Selanjutnya kita tambah transformer. Klik tambah block, pilih Transformer, template Python generic. Block transformer bakal punya decorator @transformer dan otomatis nerima output dari block sebelumnya lewat argumen pertama. Di sini aku mau bersihin data, terutama kolom kota yang penulisannya nggak konsisten (ada yang huruf kecil), dan aku mau tambah kolom total dari harga dikali jumlah.

import pandas as pd

if 'transformer' not in globals():

from mageai.datapreparation.decorators import transformer

@transformer

def transform(df, args, *kwargs):

"""

Bersihin data dan tambah kolom turunan.

Argumen 'df' itu output dari block data loader sebelumnya.

"""

# Rapikan penulisan nama kota jadi title case

df['kota'] = df['kota'].str.strip().str.title()

# Tambah kolom total = harga jumlah

df['total'] = df['harga'] df['jumlah']

# Buang baris yang mungkin duplikat

df = df.dropduplicates()

return df

Sama kayak tadi, klik run di block transformer ini dan kalian bakal lihat hasilnya. Kolom kota sekarang seragam, dan ada kolom total yang baru. Bagusnya, Mage inget hubungan antar block. Jadi ketika kalian jalanin transformer, dia otomatis narik output dari data loader di atasnya sebagai input.

Terakhir kita bikin data exporter. Ini block buat nyimpen hasil akhir. Klik tambah block, pilih Data exporter, template Python generic. Untuk contoh sederhana, aku bakal ekspor hasilnya ke file CSV lokal.

import pandas as pd

if 'dataexporter' not in globals():

from mageai.datapreparation.decorators import dataexporter

@dataexporter

def exportdata(df, args, *kwargs):

"""

Simpan hasil olahan ke file CSV.

Argumen 'df' itu output dari block transformer sebelumnya.

"""

outputpath = 'outputpenjualanbersih.csv'

df.tocsv(outputpath, index=False)

print(f'Data berhasil disimpan ke {outputpath}')

print(f'Total baris: {len(df)}')

Dan selesai. Kalian barusan bikin pipeline ETL lengkap dari load, transform, sampai export. Untuk ngejalanin seluruh pipeline dari awal sampai akhir, kalian bisa klik tombol run all di editor, atau nanti kita bakal atur biar jalan otomatis lewat trigger.

Aku pengen tekankan satu hal. Setiap kali kalian klik run per block, Mage nyimpen output block itu sementara. Jadi kalian bisa develop bertahap tanpa harus jalanin ulang seluruh pipeline tiap kali ada perubahan kecil. Ini yang bikin siklus develop-nya cepet banget dibanding harus deploy dulu kayak di Airflow tradisional.

Advanced Usage: SQL Block, Scheduling, dan Deploy

Setelah paham dasarnya, sekarang kita naik level. Aku bakal bahas beberapa fitur yang lebih advance yang bakal kepake banget di pekerjaan nyata.

Nulis Block Pakai SQL

Nggak semua transformasi enak ditulis pakai Python. Kadang buat query agregasi yang gede, SQL jauh lebih ringkas dan cepet, apalagi kalau datanya emang ada di database. Mage ngedukung block SQL secara native. Jadi kalian bisa nulis SQL langsung, dan Mage bakal ngeksekusinya ke koneksi yang kalian tentuin.

Sebelum pakai SQL block yang konek ke database, kalian perlu setting koneksi di file ioconfig.yaml. Isinya kira-kira kayak gini buat koneksi Postgres.

# Contoh isi ioconfig.yaml

version: 0.1.1

default:

POSTGRESCONNECTTIMEOUT: 10

POSTGRESDBNAME: namadatabase

POSTGRESSCHEMA: public

POSTGRESUSER: userkamu

POSTGRESPASSWORD: passwordkamu

POSTGRESHOST: localhost

POSTGRESPORT: 5432

Setelah koneksi siap, kalian bisa tambah block SQL di pipeline. Pilih data loader atau transformer tipe SQL, tentuin koneksinya (misal PostgreSQL) dan profil default. Terus kalian tinggal nulis query. Contohnya block SQL transformer buat agregasi penjualan per kota.

-- Block SQL: agregasi total penjualan per kota

-- Mage otomatis inject hasil block sebelumnya sebagai tabel

SELECT

kota,

COUNT(orderid) AS jumlahtransaksi,

SUM(total) AS totalpendapatan

FROM {{ df1 }}

GROUP BY kota

ORDER BY totalpendapatan DESC

Perhatiin sintaks {{ df1 }} di situ. Itu cara Mage nyambungin output block sebelumnya ke query SQL kalian pakai templating. Jadi kalian bisa nyampur block Python sama SQL dalam satu pipeline yang sama. Misal load pakai Python, transform berat pakai SQL, export lagi pakai Python. Fleksibel banget kan.

Parameter dan Variabel Runtime

Dalam pipeline production, sering banget kita butuh pipeline yang dinamis. Misal narik data cuma buat tanggal hari ini aja. Mage nyediain akses ke variabel runtime lewat kwargs. Yang paling sering dipake adalah executiondate. Ini contoh data loader yang pake tanggal eksekusi.

if 'dataloader' not in globals():

from mageai.datapreparation.decorators import dataloader

@dataloader

def loaddataharian(args, kwargs):

"""

Narik data berdasarkan tanggal eksekusi pipeline.

kwargs['executiondate'] otomatis diisi Mage saat pipeline jalan.

"""

executiondate = kwargs.get('executiondate')

print(f'Menjalankan pipeline untuk tanggal: {executiondate}')

# Di sini kalian bisa filter query berdasarkan tanggal itu

tanggalstr = executiondate.strftime('%Y-%m-%d') if executiondate else 'tidak ada'

print(f'Filter data untuk: {tanggalstr}')

import pandas as pd

return pd.DataFrame({'tanggal': [tanggalstr], 'status': ['loaded']})

Scheduling dan Trigger

Ini bagian yang bikin Mage jadi tool orkestrasi beneran, bukan cuma notebook. Setelah pipeline kalian jadi, kalian pasti mau dia jalan otomatis, entah tiap jam, tiap hari, atau dipicu event tertentu. Di Mage konsep ini disebut trigger.

Ada tiga jenis trigger utama di Mage. Yang pertama schedule, yaitu jalanin pipeline berdasarkan jadwal waktu, mirip cron. Yang kedua event, yaitu jalanin pipeline kalau ada event tertentu dari sistem lain. Yang ketiga API*, yaitu jalanin pipeline lewat panggilan HTTP endpoint.

Buat bikin trigger jadwal, di UI kalian masuk ke tab Triggers di pipeline kalian, klik New trigger, pilih tipe Schedule. Kalian bisa atur frekuensinya, misal tiap hari jam 9 pagi, atau bahkan pakai ekspresi cron kustom. Contohnya kalau kalian mau jalanin tiap hari jam 6 pagi, kalian isi ekspresi cron 0 6 .

Selain lewat UI, trigger juga bisa didefinisiin lewat file triggers.yaml di dalam folder pipeline. Ini enak banget karena jadi bisa masuk version control. Contohnya kayak gini.

# File triggers.yaml di dalam folder pipeline

triggers:

  • name: jadwalharianpenjualan
scheduletype: time

scheduleinterval: "0 6 "

starttime: 2026-08-24 06:00:00

status: active

settings:

skipifpreviousrunning: true

Konfigurasi skipifpreviousrunning: true itu penting. Dia mastiin kalau run sebelumnya belum kelar, run baru nggak akan numpuk. Ini best practice biar pipeline kalian nggak overlap dan bikin data dobel.

Deploy ke Production

Setelah semuanya jalan lancar di lokal, saatnya nge-deploy biar pipeline jalan otomatis 24/7 tanpa laptop kalian harus nyala terus. Ada beberapa cara nge-deploy Mage.

Cara paling gampang adalah pakai Docker di server. Kalian tinggal jalanin image Mage di server kalian, mapping folder project-nya, dan expose port 6789. Prinsipnya sama kayak jalanin di lokal, cuma di mesin yang selalu nyala.

# Deploy sederhana pakai Docker di server

docker run -d --name mage-production \

-p 6789:6789 \

-v /path/ke/project:/home/src \

--restart unless-stopped \

mageai/mageai:latest \

/app/runapp.sh mage start belajarmage

Flag -d bikin dia jalan di background, dan --restart unless-stopped mastiin container-nya nyala lagi otomatis kalau server reboot. Untuk skala yang lebih gede, Mage juga nyediain Terraform template resmi buat deploy ke cloud kayak AWS, GCP, atau Azure. Jadi kalau tim kalian udah pakai infrastruktur cloud, integrasinya udah dipikirin.

Buat produksi, ada juga fitur yang perlu kalian pertimbangin, yaitu authentication. Secara default UI Mage nggak ada login-nya. Jadi kalau kalian expose ke internet, WAJIB nyalain fitur user authentication lewat environment variable biar nggak sembarang orang bisa akses pipeline kalian.

# Aktifin autentikasi saat deploy

export REQUIREUSERAUTHENTICATION=1

export MAGEACCESSTOKEN=tokenrahasiakamu

Best Practices: Biar Pipeline Kalian Rapi dan Awet

Setelah aku pakai Mage buat beberapa kerjaan, ada beberapa kebiasaan baik yang pengen aku bagi ke temen-temen. Ini bakal ngebedain antara pipeline yang gampang dirawat sama yang bikin pusing di kemudian hari.

Pertama, satu block satu tanggung jawab. Godaan buat naruh semua logika di satu block gede itu besar, apalagi kalau lagi buru-buru. Tapi tahan. Pecah jadi block-block kecil yang jelas fungsinya. Load misahin dari transform, transform berat dipisah lagi jadi beberapa langkah. Ini bikin kalian gampang nge-debug, karena kalau ada yang error kalian langsung tau block mana yang salah.

Kedua, manfaatin fitur data validation. Mage ngedukung penambahan test di dalam block. Kalian bisa nulis fungsi dengan decorator @test buat mastiin output block sesuai ekspektasi. Contohnya cek nggak ada nilai null di kolom penting.

if 'test' not in globals():

from mageai.datapreparation.decorators import test

@test

def testoutputtidakkosong(df, args) -> None:

"""

Pastikan hasil transformasi tidak kosong dan kolom penting terisi.

"""

assert df is not None, 'Output tidak boleh None'

assert len(df) > 0, 'DataFrame tidak boleh kosong'

assert df['total'].notnull().all(), 'Kolom total tidak boleh ada yang null'

print('Semua validasi lolos')

Test kayak gini bakal otomatis dijalanin tiap block selesai. Kalau ada yang gagal, pipeline berhenti dan kalian dapet peringatan. Ini penyelamat banget buat jaga kualitas data.

Ketiga, jangan simpen kredensial di dalam kode. Ini dosa besar yang sering aku lihat. Password database, API key, semua itu jangan pernah ditulis langsung di block. Pakai file ioconfig.yaml buat koneksi, atau pakai environment variable, dan panggil pakai templating. Mage ngedukung ini, jadi manfaatin.

Keempat, rajin commit ke Git. Karena semua yang kalian bikin di Mage itu tersimpan sebagai file kode, kalian bisa dan harus masukin ke Git. Jadikan project Mage kalian sebagai repository. Dengan gitu kalian punya history perubahan, bisa kolaborasi sama tim, dan bisa rollback kalau ada yang rusak.

Kelima, atur memory dan resource dengan bijak. Kalau data kalian gede, hati-hati jangan sampai narik semua ke memory sekaligus. Manfaatin fitur chunking atau proses data secara bertahap. Mage ngedukung pemrosesan data dalam potongan, jadi pelajari fitur ini kalau kalian main data skala besar.

Keenam, kasih nama block dan pipeline yang deskriptif. Jangan biarin nama default kayak transformer1 atau dataloader2. Kasih nama yang jelas kayak bersihkankota atau agregasipendapatankota. Enam bulan lagi kalian bakal berterima kasih sama diri kalian sendiri waktu buka lagi pipeline ini.

Conclusion: Kesimpulan dan Langkah Selanjutnya

Oke temen-temen, kita udah sampai di ujung tutorial. Aku harap sekarang kalian udah kebayang gimana asyiknya kerja sama Mage. Coba kita rekap perjalanan kita tadi. Kita mulai dari instalasi pakai pip install mage-ai, terus bikin project pertama dengan mage start. Kita belajar konsep inti Mage yaitu block, mulai dari data loader buat narik data, transformer buat ngolah, sampai data exporter buat nyimpen hasil.

Kita juga udah nyobain nulis block pakai Python maupun SQL, main di UI interaktifnya yang bikin siklus develop jadi cepet karena bisa jalanin per block dan langsung lihat output. Terus kita naik ke level yang lebih serius dengan bahas parameter runtime, scheduling lewat trigger cron, sampai gimana caranya nge-deploy ke production pakai Docker biar pipeline jalan otomatis.

Menurut aku, kekuatan utama Mage itu ada di pengalaman developer-nya. Dia ngilangin banyak friksi yang biasanya kita rasain di tool orkestrasi tradisional. Buat tim yang isinya campuran data scientist dan data engineer, Mage jadi jembatan yang pas. Data scientist betah karena rasanya kayak notebook, data engineer seneng karena hasilnya beneran production-ready.

Tapi aku juga mau jujur, Mage bukan solusi buat semua masalah. Kalau kebutuhan kalian udah super kompleks dengan ribuan DAG dan integrasi enterprise yang rumit, mungkin Airflow atau Dagster yang udah lebih matang masih lebih cocok. Tapi buat mayoritas kasus, terutama tim kecil sampai menengah yang pengen gerak cepet, Mage ini pilihan yang sangat layak dipertimbangin.

Saran aku, jangan cuma baca tutorial ini terus lupa. Langsung praktik. Bikin project sendiri, coba tarik data beneran dari sumber yang kalian punya, olah, terus simpen. Rasain sendiri gimana cepetnya siklus develop di Mage. Habis itu coba pasang trigger dan lihat pipeline kalian jalan otomatis. Dari situ kalian bakal makin ngerti kapan Mage cocok dipake dan kapan enggak.

Kalau temen-temen ada pertanyaan atau pengen belajar lebih dalam soal data engineering dan AI, mampir aja ke academy.rubythalib.ai, aku ada banyak materi di sana. Terima kasih udah nemenin aku sampai akhir, semoga tutorial ini bermanfaat dan bikin kalian makin semangat ngoprek data. Sampai ketemu di tutorial berikutnya, jaga kesehatan dan tetap semangat belajar ya temen-temen.

Artikel Terkait

Tutorial Dagster: Orkestrasi Data dengan Software-Defined Assets

Dagster: Orkestrasi Data Modern dengan Software-Defined Assets Dagster adalah orkestrator data yang menyusun pipeline be...

Tutorial Lengkap Apache Airflow: Workflow Orchestration untuk Data Pipelines

Tutorial Lengkap Apache Airflow: Workflow Orchestration untuk Data Pipelines Apache Airflow adalah platform open-source ...

Tutorial dlt: Pipeline Ingestion Data Berbasis Python

Membangun Pipeline EL Berbasis Python dengan dlt (data load tool) Sebagian besar tim data menghabiskan waktu yang tidak ...

Tutorial Lengkap Prefect: Modern Workflow Orchestration untuk ML

Tutorial Lengkap Prefect: Modern Workflow Orchestration untuk ML Prefect adalah platform workflow orchestration modern y...