feat: initial commit for merica-pipeline delivery
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
# 🚀 Panduan Menambahkan Pipeline Baru (Authoring Tutorial)
|
||||
|
||||
Dokumen ini merupakan panduan praktis langkah-demi-langkah bagi Data Engineer untuk membuat, menguji, dan mempublikasikan data pipeline baru ke platform MERICA.
|
||||
|
||||
---
|
||||
|
||||
## Alur Kerja Penambahan Pipeline
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ DATA PIPELINE AUTHORING WORKFLOW │
|
||||
├───────────┬──────────────────────────────────┬─────────────────────────────────────────┤
|
||||
│ Langkah │ Tindakan Pengembang │ Lokasi Berkas │
|
||||
├───────────┼──────────────────────────────────┼─────────────────────────────────────────┤
|
||||
│ 1 │ Buat Deklarasi Pipeline YAML │ `configs/ingestion_<nama_pipeline>.yaml`│
|
||||
│ 2 │ (Opsional) Buat Model dbt │ `dbt/models/silver/` atau `gold/` │
|
||||
│ 3 │ (Opsional) Registrasi Metadata │ `metadata/<nama_pipeline>.json` │
|
||||
│ 4 │ Validasi Sintaksis Lokal │ Pemeriksaan struktur YAML │
|
||||
│ 5 │ Git Commit & Push │ Server Git On-Premise │
|
||||
│ 6 │ Verifikasi Auto-Discovery │ Airflow Web UI (Port 14080) │
|
||||
└───────────┴──────────────────────────────────┴─────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Langkah 1: Menyiapkan File YAML
|
||||
|
||||
Buat file baru di direktori `configs/`, misalnya `configs/ingestion_sensor_kebisingan.yaml`:
|
||||
|
||||
```yaml
|
||||
pipeline_id: "ingestion_sensor_kebisingan"
|
||||
pipeline_name: "Sensor Kebisingan Kota Realtime"
|
||||
description: "Ingestion data kebisingan akustik dari jaringan sensor IoT lingkungan."
|
||||
schedule_interval: "*/15 * * * *" # Berjalan setiap 15 menit
|
||||
tags:
|
||||
- "iot"
|
||||
- "sensor"
|
||||
- "kebisingan"
|
||||
|
||||
source:
|
||||
type: "api"
|
||||
connection_id: "conn_spku_api_service"
|
||||
endpoint: "/v1/noise/telemetry"
|
||||
method: "GET"
|
||||
lookback_window_hours: 1
|
||||
response_path: "data.records"
|
||||
|
||||
target:
|
||||
bucket: "dlh-bronze"
|
||||
format: "parquet"
|
||||
partition_by: "ingest_date"
|
||||
|
||||
governance:
|
||||
owner: "bidang_ppkl@dlh.id"
|
||||
tier: "Tier2"
|
||||
domain: "Pengendalian Pencemaran Lingkungan"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Langkah 2: Menyiapkan Model Transformasi dbt (Bila Perlu)
|
||||
|
||||
Jika pipeline ini memerlukan pembersihan atau agregasi lanjutan:
|
||||
1. Buat model Silver: `dbt/models/silver/silver_sensor_kebisingan_clean.sql`
|
||||
2. Buat model Gold: `dbt/models/gold/gold_noise_hourly_exceedance.sql`
|
||||
|
||||
---
|
||||
|
||||
## Langkah 3: Commit dan Push ke Git Server
|
||||
|
||||
Commit perubahan ke branch aktif (misal `main`):
|
||||
```bash
|
||||
git add configs/ingestion_sensor_kebisingan.yaml
|
||||
git commit -m "feat(pipeline): register noise sensor telemetry pipeline"
|
||||
git push origin main
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Langkah 4: Verifikasi di Airflow 3 Runtime
|
||||
|
||||
Tunggu paling lama **30 detik**. Buka antarmuka Airflow pada `http://localhost:14080`:
|
||||
* DAG `dag_ingestion_sensor_kebisingan` akan muncul secara otomatis.
|
||||
* Anda dapat memicu eksekusi manual via tombol **Trigger DAG (Play button)** untuk menguji aliran data dari sumber ke S3 Bronze.
|
||||
Reference in New Issue
Block a user