Lewati ke konten

Praktik: Data Engineering End-to-End

Pengguna
Terakhir diperbarui 7 Juli 2026

Apa & untuk apa

Tutorial ini mengajak Anda menjadi data engineer untuk satu proyek nyata: menyiapkan data penjualan UMKM kuliner agar siap dianalisis. Anda akan menyentuh seluruh rantai data engineering di PSD — mengumpulkan data (Ruang Panen Data / Data Sintesis), menampung di data lakehouse SatuDanau, mengolah lewat pipeline ETL di Pabrik Data, lalu memverifikasi hasil gold di Ruang Kueri (data warehouse SQL).

Inilah fondasi semua proyek data. "Data engineering" pada dasarnya menjawab: bagaimana data mentah yang berantakan berubah menjadi tabel rapi, tepercaya, dan siap dipakai? Di PSD, jawabannya adalah arsitektur medallion (bronze → silver → gold) di atas SatuDanau.

Studi kasus: "Analisis Penjualan UMKM Kuliner Lampung". Anda punya data transaksi mentah dari beberapa sumber; tujuannya menghasilkan tabel gold bersih siap dianalisis.

Cara kerja: konsep lakehouse & medallion

Sebelum praktik, kenali dua konsep inti.

Data lakehouse (SatuDanau) menggabungkan:

  • Data lake — bebas menyimpan apa saja: CSV mentah, JSON, gambar, arsip (area Berkas).
  • Data warehouse — tabel terstruktur yang bisa dikueri SQL (area Tabel).

Lapisan medallion menata perjalanan kualitas data:

LapisanIsiAnalogiDihasilkan oleh
BronzeData mentah apa adanyaBahan baku belum dicuciPanen / sintesis / unggah
SilverSudah dibersihkan & dinormalisasiBahan sudah dicuci & dipotongPabrik Data
GoldSiap analitik, teragregasiHidangan siap sajiPabrik Data / CTAS

Aturan main: jangan pernah menganalisis langsung dari bronze. Selalu naikkan dulu ke gold. Format kanonik danau adalah Parquet + Delta — CSV/JSON/Avro/ORC dinormalkan otomatis saat masuk.

Kapan dipakai

Cocok untuk:

  • Menyiapkan data mentah sebelum analisis/model apa pun.
  • Membangun alur data yang berulang & reproducible (bukan sekali pakai).
  • Menggabungkan beberapa sumber data menjadi satu tabel bersih.

Kurang tepat bila:

  • Data Anda sudah bersih & kecil — cukup unggah langsung ke Dataset lalu analisis.
  • Anda hanya butuh eksplorasi cepat sekali jalan — pakai Notebook saja.

Langkah demi langkah

Langkah 1 — Kumpulkan data mentah (bronze)

Anda punya beberapa pilihan sumber. Pakai salah satu atau kombinasi:

Opsi A — Ruang Panen Data (data dari API/situs eksternal):

  1. Buka Suite Data → Ruang Panen Data (/harvest).
  2. Buat job panen: masukkan sumber (hanya domain tepercaya/allowlist yang diizinkan).
  3. Jalankan → hasil tersimpan sebagai dataset draft untuk dikurasi.

Opsi B — Data Sintesis (bila belum punya data / untuk latihan):

  1. Buka Suite Data → Data Sintesis (/synthesis).
  2. Mode dari prompt: deskripsikan "transaksi penjualan UMKM kuliner di Lampung, 5.000 baris,

kolom: tanggal, kota, menu, qty, harga, total". LLM menyusun spesifikasi skema, lalu generator lokal (Faker id_ID) membuat baris — hemat kuota walau ribuan baris.

  1. Hasil wajib berlabel "Data Sintesis" — jangan disamarkan sebagai data resmi.

Opsi C — Unggah manual: seret berkas CSV langsung ke Dataset dari peramban.

Apa pun sumbernya, hasilnya masuk ke SatuDanau sebagai lapisan bronze — data mentah apa adanya.

Langkah 2 — Tata di SatuDanau

  1. Buka aset Dataset Anda → tab Danau (SatuDanau).
  2. Pastikan data mentah ada di area Berkas atau terdaftar sebagai Tabel bronze.
  3. (Opsional) Gunakan Pintasan bila ingin merujuk data dari dataset lain tanpa menyalin.

Sekarang data siap masuk pipeline.

Langkah 3 — Bangun pipeline ETL di Pabrik Data

  1. Buka Suite Data → Pabrik Data (/factory/pipelines) → Buat pipeline.
  2. Susun node di kanvas visual:
NodeFungsi dalam studi kasus
SourceAmbil tabel bronze dari SatuDanau (bukan path sembarang)
FilterBuang baris rusak, mis. total > 0, kota IS NOT NULL
SelectPilih kolom relevan saja
AggregateRingkas: omzet per kota per hari (SUM/COUNT)
Join(opsional) gabung dengan tabel referensi menu
  1. Pilih engine: Auto (biar sistem memilih), DuckDB (data kecil–menengah, cepat), atau

Spark (data sangat besar).

  1. Validasi — sistem memeriksa alur (tak boleh ada siklus; harus satu node keluaran/sink)

dan menampilkan SQL/PySpark yang dihasilkan otomatis — bagus untuk belajar kode nyata.

  1. Pratinjau — lihat contoh baris tanpa menyimpan (hemat kuota).
  2. Jalankan — saat selesai muncul tautan "Lihat dataset hasil".
Output pipeline (lapisan gold) otomatis menjadi aset dataset — bisa dibagikan & dipakai ulang. Bangun pipeline bertahap: bronze → silver (bersih) → gold (teragregasi).

Langkah 4 — Verifikasi hasil di Ruang Kueri

Sebelum menyerahkan data ke analis/ilmuwan data, pastikan benar:

  1. Buka Suite Data → Ruang Kueri (/analytics/kueri).
  2. Di panel katalog, temukan tabel gold Anda di skema gold_<username>.
  3. Jalankan kueri pemeriksaan:
   SELECT kota, COUNT(*) AS jumlah_hari, SUM(omzet) AS total_omzet
   FROM lake.gold_username.penjualan_harian
   GROUP BY kota
   ORDER BY total_omzet DESC
  1. Cek kewajaran: tak ada omzet negatif, kota sesuai harapan, jumlah baris masuk akal.
  2. (Opsional) Buat tabel ringkasan permanen dengan CTAS ke skema gold Anda sendiri.

Langkah 5 — (Opsional) Katalogkan & dokumentasikan

  1. Buka Ruang Metadata untuk dataset gold Anda.
  2. Isi klasifikasi (public/internal/pii), aturan kualitas (not_null, unique, freshness),

dan lihat lineage (asal-usul data dari pipeline).

  1. Publikasikan koleksi terkurasi ke Pustaka Metadata agar ditemukan orang lain.

Selamat — data Anda kini bersih, tepercaya, dan siap masuk Jalur 2 (Data Science) atau Jalur 3 (BI & Analitik).

Batas tier

Setiap tahap punya kuota. Angka berikut ilustratif — angka dapat berubah.

FiturPemulaMenengahLanjut
Pabrik Data (DuckDB)≤ 200 MB, 5 run/hari≤ 1 GB, 30 run/hari≤ 5 GB, 100 run/hari
Pabrik Data (Spark)🔒≤ 20 GB, 10 run/hari≤ 200 GB, node kode .py
Ruang Panen Datavolume kecil, frekuensi rendahmenengahtinggi
Data Sintesismaks baris kecil, AI/hari terbataslebih besarterbesar
Angka dapat berubah. Node kode .py di Spark juga butuh akses kernel (disetujui admin) selain tier Lanjut.

Poin & quest

AktivitasPoin (ilustratif)
Panen data pertama+10
Membuat pipeline+5
Menjalankan pipeline (sukses)+10
Menghasilkan dataset gold+25
Verifikasi lewat kueri+5

Quest bertema data engineering:

  1. Pemanen Data — selesaikan satu job panen atau sintesis.
  2. Arsitek Medallion — hasilkan tabel di lapisan bronze, silver, dan gold.
  3. Insinyur Pipeline — jalankan pipeline sukses dari bronze ke gold.
  4. Penjaga Kualitas — isi aturan kualitas di Ruang Metadata.

Masalah umum & solusi

GejalaPenyebabSolusi
Source tak menemukan dataBelum ada tabel bronzePanen/sintesis/unggah dulu ke SatuDanau
Validasi pipeline gagal (siklus)Node membentuk lingkaranPerbaiki koneksi; alur harus searah
"Harus satu keluaran"Lebih dari satu sinkSisakan tepat satu node keluaran
Engine Spark terkunciTier belum cukupNaikkan tier atau pakai DuckDB
Tabel tak muncul di Ruang KueriMasih bronze/silverNaikkan ke gold lewat pipeline/CTAS
Domain panen ditolakDi luar allowlistGunakan sumber tepercaya yang diizinkan
Data sintesis dikira asliLupa labelHasil selalu berlabel "Data Sintesis" — biarkan

Fitur terkait

  • Ruang Panen Data — sumber data eksternal (langkah 1).
  • Data Sintesis — data buatan berkonteks Indonesia untuk latihan.
  • Dataset — rumah SatuDanau & lapisan medallion.
  • Pabrik Data — mesin ETL visual (langkah 3).
  • Ruang Kueri — verifikasi & analitik SQL atas gold.
  • Ruang Metadata — katalog, kualitas, dan lineage.
  • Praktik: Data Science End-to-End — lanjutan memakai tabel gold untuk model.