# 🚀 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_.yaml`│ │ 2 │ (Opsional) Buat Model dbt │ `dbt/models/silver/` atau `gold/` │ │ 3 │ (Opsional) Registrasi Metadata │ `metadata/.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.