Sistem analitik big data untuk menganalisis ketahanan pangan di Provinsi Lampung menggunakan ekosistem Hadoop dan arsitektur Medallion (Bronze-Silver-Gold).
Tujuan: Menganalisis kondisi ketahanan pangan di Provinsi Lampung untuk mendukung pengambilan kebijakan.
Fitur Utama:
- Analisis pola produksi, konsumsi, dan harga pangan
- Monitoring dampak iklim terhadap produktivitas pertanian
- Evaluasi faktor sosial ekonomi
- Dashboard real-time untuk pengambil keputusan
- Analitik prediktif untuk perencanaan
Data Mentah → Bronze Layer → Silver Layer → Gold Layer → Dashboard
(CSV Files) (HDFS Raw) (Data Bersih) (Analitik) (Superset)
- Storage: Hadoop HDFS, Parquet
- Processing: Apache Spark, PySpark
- Query: Apache Hive, Hive SQL
- Orchestration: Apache Airflow, Docker
- Visualization: Apache Superset
- Language: Python 3.9+
# Setup lingkungan pengembangan
./setup_dev_env.sh
source .venv/bin/activate
# Start semua services
./start-system.sh
# Otomatis (Recommended)
bash run_bronze.sh # Ingest data ke HDFS
bash run_silver.sh # Bersihkan dan transformasi
bash run_gold.sh # Hitung metrik bisnis
- Superset: http://localhost:8088 (admin/admin123)
- Airflow: http://localhost:8085 (admin/admin)
- Spark UI: http://localhost:8080
/data/bronze/
├── produksi_pangan.csv
├── harga_pangan.csv
├── cuaca.csv
├── sosial_ekonomi.csv
├── konsumsi_pangan.csv
└── ikp.csv
- Format Parquet untuk efisiensi
- Validasi dan pembersihan kualitas data
- Partisi berdasarkan tahun
- Tabel Hive untuk akses SQL
- ketahanan_pangan_kab: Metrik ketahanan regional
- ketahanan_pangan_enriched: Data analitik komprehensif
- KPI dan metrik bisnis pre-calculated
- Validasi skema otomatis
- Deteksi outlier (IQR, Z-score)
- Pembersihan nilai missing
- Standardisasi format
- Konfigurasi terpusat di
src/config/settings.py
- Error handling dan logging komprehensif
- Script idempotent dan aman untuk re-run
src/
├── config/ # Konfigurasi terpusat
├── utils/ # Utilities umum
├── etl/ # Pipeline ETL
└── tests/ # Unit tests
scripts/ # Script operasi
dags/ # Airflow DAGs
datasets/ # Data mentah
# Type checking
pyright
# Format code
./scripts/format_code.sh
# Run tests
./scripts/run_tests.sh
# Cek status services
docker compose ps
# Validate data di setiap layer
docker compose exec hiveserver2 beeline -u jdbc:hive2://hiveserver2:10000 \
-e "SELECT COUNT(*) FROM silver.produksi_pangan;"
- Superset connection: Test koneksi dengan
hive://hive@hiveserver2:10000/gold
- Spark jobs: Cek logs dengan
docker compose logs spark-master
- HDFS issues: Validate dengan
hdfs dfs -ls /data
Real datasets dari:
- BPS (Badan Pusat Statistik)
- BMKG (Badan Meteorologi & Geofisika)
- PIHPS (Sistem Informasi Harga Pangan)
- Lembaga Pemerintah terkait
Institut Teknologi Sumatera:
- Galin Nichola Gibran (121140050)
- Sesilia Putri Subandi (122450012)
- Cintya Bella (122450066)
- Novelia Adinda (122450104)
- Dhafin Razaqa Luthfi (122450133)