manage data productively Profile Pemateri Muhammad Nur Wachid S.K.G. Latar belakang Pendidikan: Formal • S1 Kedokteran Gigi Universitas Indonesia (2010-2015) Non Formal • Tetris Fast Track Data Analytic Batch 1 Riwayat Pekerjaan: Xeratic • DataOps Intern (2022) • Data Engineer (2022 – sekarang) Related: • Teaching Assistant TSA Kominfo (2022) Course Expectation • Sesi#1 : Understand why ETL is needed to manage data productively • Sesi#2 : Using Pentaho Data Integration as ETL tool • Sesi#3 : Using Pentaho Data Integration to extract data from Text Files and Excel Files • Sesi#4 : Using Pentaho Data Integration to imply business logic / transform data • Sesi#5 : Using Pentaho Data integration to export data to MySQ Learning Outcome • Memahami apa itu ETL (Extract-Transform-Load) • Mengetahui pentingnya proses ETL dalam manajemen data (khususnya untuk keperluan Analytics) • Mengetahui jenis data dan tools yang digunakan untuk ETL • Uji coba mengambil data dari API Learning Outcome • Praktek dengan menggunakan Pentaho Data Integration (PDI) • Task 1: Membangun ETL untuk data tabular (structured) dengan input berupa data tabular Ms. Excel dan MySQL dan output berupa table di database MySQL. • Task 2: Membangun ETL untuk data teks dalam format JSON (semistructured) dengan input berupa data dari NewsAPI dan data artikel berita online (HTML) dengan output berupa data teks bersih di database MySQL Survey • Saya ingin tahu background teman-teman serta perangkat/operating system apa yang teman-teman gunakan • Silahkan akses ke https://www.menti.com/al5xf4bpmqjc What is ETL? Big Data • Volume (Ukuran data yang dihasilkan) • Velocity (Kecepatan data yang dihasilkan) • Variety (Ragam jenis data yang dihasilkan) • Veracity (Keandalan dan kebenaran data yang dihasilkan) • Value (Manfaat atau nilai yang dapat dihasilkan dari pengolahan data) Data Engineering ETL / ELT ETL ELT Extract >> Transform >> Load Extract >> Load >> Transform
Extract Transform Load
Proses ekstraksi dan menyaring, mengolah, Mengirimkan data pengumpulan data dan menggabungkan akhir yang sudah siap dari berbagai macam data-data yang relevan untuk digunakan ke sumber data data menjadi data sebuah database. (database, website, yang bersih dan aplikasi, dll) berkualitas. Extract Beragam sumber data: (internal / external) • Database • File • Tools/Aplikasi • APIs • Website • Sensor • Dll Transform Beragam proses transformasi yang dapat dilakukan: • Casting/changing data type • Calculating • Agregating • Selecting column/attribute • Splitting • Merging • Standardizing/cleansing • Joining/look up • Dll Load Load Tujuan load data: • Data warehouse (atau data lake) • Datamart Why ETL is important? OLTP vs OLAP Normalisasi vs Denormalisasi Data Architecture in Analytics Data Warehouse and DataMart Data Warehouse Datamart Suatu database yang berisi integrasi dari Subset dari data warehouse untuk seluruh sumber data yang ada pada satu mendukung analisa/ reporting suatu organisasi/perusahaan, sehingga laporan unit, bagian, atau operasi di semua diambil dari sana. perusahaan.
Scope: Perusahaan Scope: Unit/bagian
Subject: Multiple Subject: Single Sumber data: Banyak Sumber data: Sedikit Ukuran data: >100 GB (bahkan TB) Ukuran data: <100 GB Waktu implementasi: berbulan-bulan Waktu implementasi: Beberapa bahkan bertahun-tahun bulan Why ETL is Needed? • Mengekstrak data agar tidak mengganggu proses di operasional. • Mengumpulkan (rekap) data secara historis di data warehouse. • Memperbaiki kualitas data hingga dapat digunakan untuk analisis/reporting. • Membuat proses analisis/reporting (OLAP) menjadi lebih optimal (efektif dan efisien). • Dll Data & Tools for ETL 3 Macam data • Structured • Semi-structured • Unstructured Structured • Ciri: berbentuk tabular • Terstruktur namun rigid/kaku • Mudah dipahami manusia • Diterapkan di beberapa sistem seperti Customer relationship management (CRM) & Enterprise resource planning (ERP) • Contoh: RDBMS (SQL), CSV/Excel Semi Structured • Ciri: memiliki key & value • Terstruktur namun tidak kaku • Bukan bentuk yang mudah dipahami • Diterapkan dalam pengembangan aplikasi (application back end) dan API • Contoh: NoSQL, JSON, XML Unstructured • Tidak terstruktur • Punya banyak bentuk seperti teks, files, gambars, video, email, dll. • Ekstraksi data/informasi perlu metode/cara yang khusus. Tools Tools Uji coba data API Panduan API • Hari ini kita akan mencoba mengambil data API dengan menggunakan Postman • API yang akan kita gunakan : NewsAPI • Panduan “Setup API” bisa didownload di folder panduan: Panduan - Google Drive Quiz Quiz • Quiz bisa diakses di: https://forms.gle/QiCm8NjYfUnhkYJZ9 • Waktu pengerjaan: 5 menit Homework • Lakukan pengambilan data via API untuk NewsAPI dan TwitterAPI. • NewsAPI: Top Headlines https://newsapi.org/v2/top-headlines? • country = id • Lalu submit eviden berupa screenshot hasil API (berhasil) • Eviden homework bisa disubmit di: https://forms.gle/2MjKTmE9JZta4Ksy5 • Deadline: 1 jam sebelum pertemuan berikutnya dimulai.