ETL Pipeline • Telling the concepts of Extract, Transform, and Load. • Submission focussing on scraping data from website and store it into data repository. https://www.dicoding.com/academies/708/
desain, pembangunan, dan pemeliharaan infrastruktur yang memungkinkan pengumpulan, penyimpanan, pemrosesan, dan analisis data dalam skala besar. Peran yang bertanggung jawab dalam memastikan semua design, arsitektur, data infrastruktur dapat berjalan dengan baik sesuai yang diharapkan. Data Engineering Data Engineer
dan terdiri dari bagian-bagian terpisah yang berdiri sendiri (disebut modul). Jika digabungkan, modul-modul ini membentuk aplikasi atau program yang lengkap dan berfungsi dengan baik. Merujuk pada kode yang mudah dibaca, dirawat, dan diuji. Menggunakan nama yang jelas, dokumentasi seperlunya, satu pendekatan per tugas, serta ketergantungan yang minim dan terdefinisi jelas. Modular Code Clean Code
bagian lain yang tidak saling terkait. Perubahan kecil dapat menyebabkan kegagalan tak terduga di bagian lain sistem yang jauh. 3 Symptoms of Bad Code Kode terlalu terikat dengan banyak ketergantungan, sehingga lebih mudah untuk menulis ulang daripada menggunakannya kembali. Source: Robert C. Martin (Uncle Bob) 01 Rigidity 02 03 Fragility Immobility Kode yang buruk adalah perangkat lunak yang sulit diubah, digunakan kembali, atau dirawat karena terlalu banyak ketergantungan, struktur yang buruk, dan perilaku yang tidak bisa diprediksi.
yang baik saja tidak cukup pastikan juga setiap bagian dari kode tersebut bekerja sebagaimana mestinya dengan menambahkan pengujian, seperti unit test.
berjalan sesuai harapan, sedangkan integration testing memeriksa apakah modul-modul bekerja dengan baik saat digabung. Python menyediakan `unittest` sebagai library bawaan untuk ini.
perubahan kecil pada kode, namun justru menyebabkan kegagalan tak terduga hingga aplikasi mengalami crash? a. Immobility b. Fragility c. Rigidity d. Immunity
perubahan kecil pada kode, namun justru menyebabkan kegagalan tak terduga hingga aplikasi mengalami crash? a. Immobility b. Fragility c. Rigidity d. Immunity
berbagai sumber seperti database, API, atau flat file. Sumber-sumber tersebut dapat dilihat pada daftar di bawah ini. APIs CSVs Website Apps Cloud Storage Databases Log Files 01 02 03 04 05 06 Meminta data dari suatu layanan melalui internet menggunakan URL. Mengambil konten HTML dengan cara melakukan scraping. Menggunakan bahasa kueri (seperti SQL) untuk mengambil data dari database. Membaca data terstruktur dari file CSV menggunakan alat seperti pandas di Python. Terhubung ke platform cloud (seperti AWS S3, Google Cloud Storage) melalui API. Membaca dan menganalisis log berbasis teks menggunakan skrip (Python, Bash) untuk mendapatkan insight.
dari sebuah halaman web, kamu perlu memahami struktur HTML karena struktur inilah yang menentukan lokasi data berada. HTML Structure Library Python yang digunakan untuk mem-parsing HTML dan XML, sehingga memudahkan dalam mengekstrak elemen tertentu dari halaman web. BeautifulSoup Pagination mengacu pada adanya banyak halaman konten yang harus di-scrape satu per satu. Pagination Rate limiting adalah batasan jumlah permintaan (request) yang dapat kamu kirim ke suatu situs dalam periode waktu tertentu. Rate Limiting
Robots.txt (Crawling Guidelines) Ikuti website’s Terms of Service Pada tahun 2010, Pete Warden, seorang data scientist dan mantan engineer Apple, melakukan scraping data dari Facebook dan mengumpulkan informasi dari sekitar 215 juta akun pengguna. Facebook menuduh Warden melanggar aturan situs mereka dan mengancam akan mengambil tindakan hukum. Bagaimana cara menghindarinya? Source News: Pete Warden, Facebook info harvester Pete Warden vs Facebook
agar terhindar dari kesalahan etika dan privasi ketika melakukan scraping data? a. Memperhatikan struktur HTML b. Memeriksa database aplikasi c. Memeriksa Terms and Conditions d. Memahami pagination
agar terhindar dari kesalahan etika dan privasi ketika melakukan scraping data? a. Memperhatikan struktur HTML b. Memeriksa database aplikasi c. Memeriksa Terms and Conditions d. Memahami pagination
data Anda pada spreadsheets, CSV, dan Database sekaligus. • Automasikan etl pipeline Anda dengan cron job • Buat unit testing pada ETL pipeline Anda. https://www.dicoding.com/academies/708/