Program
Data engineering mendukung perpindahan dan transformasi data. Karena perusahaan mengandalkan data dalam jumlah besar untuk mendapatkan wawasan dan mendorong inovasi, permintaan akan data engineer terus meningkat.
Bagi para profesional data, terjun ke proyek data engineering menawarkan banyak peluang. Tantangan praktis mengasah keterampilan teknis Anda dan menyediakan portofolio nyata untuk memamerkan pengetahuan dan pengalaman Anda.
Dalam artikel ini, saya telah mengkurasi pilihan proyek data engineering yang dirancang untuk membantu Anda meningkatkan keterampilan dan dengan percaya diri menghadapi tantangan data di dunia nyata!
Mengapa Mengerjakan Proyek Data Engineering?
Membangun pemahaman data engineering yang solid melalui teori dan praktik itu penting. Jika Anda membaca artikel ini, Anda mungkin sudah tahu, tetapi berikut tiga alasan spesifik untuk mendalami proyek-proyek ini:
Membangun keterampilan teknis
Proyek data engineering memberikan pengalaman langsung dengan teknologi dan metodologi. Anda akan menguasai bahasa pemrograman, manajemen basis data, pemrosesan big data, dan komputasi awan. Keterampilan teknis ini mendasar untuk peran data engineering dan sangat dapat dialihkan di industri teknologi.
Pengembangan portofolio
Membuat portofolio proyek data engineering menunjukkan kemampuan praktis Anda kepada calon pemberi kerja. Anda menyediakan bukti nyata kemampuan Anda dengan menampilkan implementasi pipeline data, desain gudang data, dan solusi optimasi.
Portofolio yang kuat membuat Anda menonjol di pasar kerja dan melengkapi resume Anda dengan pencapaian nyata.
Mempelajari alat dan teknologi
Bidang data engineering menggunakan beragam alat dan teknologi. Mengerjakan proyek memaparkan Anda pada kerangka kerja pemrosesan data, alat manajemen alur kerja, dan platform visualisasi.
Pengalaman praktis ini membuat Anda tetap mengikuti tren industri dan meningkatkan kemampuan beradaptasi di lanskap teknologi yang terus berkembang.
Proyek Data Engineering untuk Pemula
Proyek-proyek ini bertujuan memperkenalkan alat utama yang digunakan oleh data engineer. Mulailah dari sini jika Anda baru di data engineering atau perlu penyegaran.
Proyek 1: Pipeline ETL dengan data terbuka (CSV ke Parquet ke BigQuery)
Proyek ini mencakup membangun pipeline ETL menggunakan dataset yang tersedia untuk umum, seperti data cuaca atau transportasi. Anda akan mengekstrak data dari file CSV mentah, membersihkan dan mentransformasikannya menggunakan Python, lalu memuat data yang sudah ditransformasi ke Google BigQuery.
Agar proyek ini benar-benar modern, cobalah menggunakan Polars untuk transformasi Anda alih-alih pustaka Pandas tradisional. Polars jauh lebih cepat dan menjadi alat favorit di komunitas data engineering. Selain itu, sebelum memuat data ke cloud, latihlah mengonversinya ke format Parquet. Parquet adalah format penyimpanan kolumnar yang jauh lebih efisien dibandingkan CSV dan menjadi standar untuk penyimpanan big data.
Proyek ini sangat baik untuk pemula karena memperkenalkan konsep inti ETL—ekstraksi data, transformasi, dan pemuatan—sembari mengenalkan alat cloud seperti BigQuery dan format file penting.
Anda juga akan belajar cara berinteraksi dengan gudang data cloud, keterampilan inti dalam data engineering modern, menggunakan alat sederhana seperti Python dan BigQuery API. Untuk pengantar, tinjau panduan pemula BigQuery.
Untuk datanya, Anda dapat memilih dataset yang tersedia dari Kaggle atau data.gov.
Sumber daya
Berikut beberapa sumber daya, termasuk repositori GitHub dan tutorial, yang memberikan panduan langkah demi langkah:
Video YouTube dan tutorial:
- Tutorial Polars: Tutorial kami membandingkan pustaka Pandas dan Polars, membantu Anda memahami mengapa data engineer beralih ke Polars untuk dataset besar.
- ETL Batch Pipeline dengan Cloud Storage, Dataflow, dan BigQuery: Video ini menampilkan studi kasus lengkap pipeline batch ETL yang dideploy di Google Cloud, menggambarkan tahap ekstraksi, transformasi, dan pemuatan ke BigQuery.
Repositori GitHub:
- End-to-End Data Pipeline: Repositori ini menunjukkan pipeline otomatis penuh yang mengekstrak data dari file CSV, mentransformasinya menggunakan Python dan dbt, lalu memuatnya ke Google BigQuery.
- ETL Pipeline with Airflow and BigQuery: Proyek ini menampilkan pipeline ETL yang diorkestrasi dengan Apache Airflow yang mengotomatiskan ekstraksi data dari file CSV, transformasi menggunakan Python, dan pemuatan ke BigQuery.
Kursus:
- ETL and ELT in Python: Pelajari lebih lanjut tentang proses ETL di Python, mencakup konsep dasar dan implementasi praktis untuk membangun pipeline data.
- Understanding Modern Data Architecture: Kursus ini menawarkan gambaran komprehensif arsitektur data modern, berfokus pada praktik terbaik untuk memindahkan dan menstrukturkan data di sistem berbasis cloud seperti BigQuery.
Keterampilan yang dikembangkan
- Mengekstrak data dari CSV dengan Python.
- Mentranformasi dan membersihkan data dengan Polars atau Pandas.
- Bekerja dengan format file kolumnar seperti Parquet.
- Memuat data ke BigQuery dengan Python dan SQL.
Proyek 2: Pipeline data cuaca dengan Python dan PostgreSQL
Proyek ini memperkenalkan calon data engineer pada proses dasar membangun pipeline data, berfokus pada tiga aspek inti: pengumpulan, pembersihan, dan penyimpanan data.
Dengan Python, Anda akan mengambil kondisi cuaca dan prakiraan dari Open-Meteo, API yang sepenuhnya gratis dan tidak memerlukan kunci API. Setelah data cuaca terkumpul, Anda akan memproses JSON mentah, yang mungkin melibatkan konversi satuan suhu, menangani nilai hilang, atau standarisasi nama lokasi. Terakhir, Anda akan menyimpan data yang telah dibersihkan ke basis data PostgreSQL.
Sentuhan Modern (Direkomendasikan): Alih-alih menginstal PostgreSQL langsung di komputer Anda, cobalah menjalankannya dalam kontainer Docker. Ini menjaga komputer Anda tetap bersih dan membuktikan kepada pemberi kerja bahwa Anda memahami containerization (keterampilan wajib untuk data engineering modern).
Sumber daya
Berikut beberapa sumber daya bermanfaat untuk membantu Anda dengan stack spesifik ini:
- Dokumentasi:
- Open-Meteo Docs: Dokumentasinya sangat baik dan menyertakan pembuat URL agar Anda dapat melihat struktur data sebelum menulis kode apa pun.
Repositori GitHub:
- Weather and Air Quality ETL Pipeline: Repositori ini menunjukkan pipeline ETL yang mengekstrak data cuaca dan kualitas udara dari API publik, mentransformasikannya menjadi format yang bersih dan dapat dianalisis, serta memuatnya ke basis data PostgreSQL.
- Weather Data Integration Project: Pipeline ETL end-to-end yang mengekstrak data cuaca, mentransformasikannya, dan memuatnya ke basis data PostgreSQL.
Kursus:
- Creating PostgreSQL Databases: Kursus ini menawarkan panduan komprehensif tentang PostgreSQL, mencakup keterampilan penting untuk membuat, mengelola, dan mengoptimalkan basis data—langkah penting dalam pipeline data cuaca.
- Data Engineer in Python: Jalur keterampilan ini mencakup keterampilan dasar data engineering, termasuk pengumpulan, transformasi, dan penyimpanan data, memberikan awal yang kuat untuk membangun pipeline di Python.
Keterampilan yang dikembangkan
- Menggunakan Python untuk menulis aplikasi pipeline data.
- Mengumpulkan data dari sumber eksternal (API).
- Dasar-dasar Docker (menjalankan kontainer basis data).
- Menyiapkan basis data dan menulis SQL untuk menyimpan data.
Proyek 3: Analisis transportasi London
Proyek ini menawarkan titik awal yang sangat baik bagi calon data engineer. Anda akan diperkenalkan untuk bekerja dengan data dunia nyata dari jaringan transportasi publik besar yang menangani lebih dari 1,5 juta perjalanan harian.
Kekuatan proyek ini terletak pada penggunaan solusi gudang data standar industri seperti Snowflake, Amazon Redshift, Google BigQuery, atau Databricks. Platform ini sangat penting dalam data engineering modern, memungkinkan Anda memproses dan menganalisis dataset besar secara efisien.
Dengan menganalisis tren transportasi, metode populer, dan pola penggunaan, Anda akan belajar cara mengekstrak wawasan bermakna dari dataset besar—kompetensi inti dalam data engineering.
Sumber daya
Berikut beberapa sumber daya, termasuk proyek terpandu dan kursus, yang memberikan panduan langkah demi langkah:
Proyek terpandu:
- Menjelajahi Jaringan Transportasi London: Proyek terpandu ini mengajarkan Anda cara menganalisis data transportasi publik London, membantu Anda mengeksplorasi tren, rute populer, dan pola penggunaan. Anda akan mendapatkan pengalaman analisis data skala besar menggunakan data dunia nyata dari jaringan transportasi publik utama.
Kursus:
- Data Warehousing Concepts: Kursus ini membahas prinsip-prinsip penting gudang data, termasuk arsitektur dan use case untuk platform seperti Snowflake, Redshift, dan BigQuery. Ini merupakan fondasi yang sangat baik untuk menerapkan solusi penyimpanan dan pemrosesan data skala besar.
Keterampilan yang dikembangkan
- Memahami konteks penulisan kueri dengan lebih memahami data.
- Bekerja dengan dataset besar.
- Memahami konsep big data.
- Bekerja dengan gudang data dan alat big data, seperti Snowflake, Redshift, BigQuery, atau Databricks.
Proyek Data Engineering Tingkat Menengah
Proyek-proyek ini berfokus pada keterampilan seperti menjadi programmer yang lebih baik dan memadukan berbagai platform data. Keterampilan teknis ini penting untuk kemampuan Anda berkontribusi pada tumpukan teknologi yang ada dan bekerja sebagai bagian dari tim yang lebih besar.
Proyek 4: Melakukan code review
Proyek ini sepenuhnya tentang meninjau kode data engineer lain. Meskipun mungkin tidak sedekat tangan dengan teknologi seperti beberapa proyek lainnya, kemampuan untuk meninjau kode orang lain adalah bagian penting dari pertumbuhan sebagai data engineer.
Membaca dan meninjau kode sama pentingnya dengan keterampilan menulis kode. Setelah memahami konsep dan praktik dasar data engineering, Anda dapat menerapkannya untuk meninjau kode orang lain guna memastikan kepatuhan pada praktik terbaik dan mengurangi potensi bug dalam kode.
Sumber daya
Berikut beberapa sumber berharga, termasuk proyek dan artikel, yang memberikan panduan langkah demi langkah:
Proyek terpandu:
- Melakukan Code Review: Proyek terpandu ini menawarkan pengalaman langsung dalam code review, mensimulasikan proses code review seolah-olah Anda adalah profesional data senior. Ini cara yang sangat baik untuk berlatih mengidentifikasi potensi bug dan memastikan praktik terbaik diikuti.
Artikel:
- How to Do a Code Review: Sumber ini memberikan rekomendasi tentang melakukan code review secara efektif, berdasarkan pengalaman luas, dan mencakup berbagai aspek proses review.
Keterampilan yang dikembangkan
- Membaca dan mengevaluasi kode yang ditulis oleh data engineer lain
- Menemukan bug dan kesalahan logika saat meninjau kode
- Memberikan umpan balik pada kode dengan jelas dan membantu
Proyek 5: Membangun pipeline data ritel
Dalam proyek ini, Anda akan membangun pipeline ETL lengkap dengan data ritel Walmart. Anda akan mengambil data dari berbagai sumber, termasuk basis data SQL dan file Parquet, menerapkan teknik transformasi untuk menyiapkan dan membersihkan data, dan akhirnya memuatnya ke format yang mudah diakses.
Proyek ini sangat baik untuk membangun pengetahuan data engineering yang mendasar namun maju karena mencakup keterampilan penting seperti ekstraksi data dari berbagai format, transformasi data untuk analisis bermakna, dan pemuatan data untuk penyimpanan dan akses yang efisien. Ini membantu memperkuat konsep seperti menangani sumber data beragam, mengoptimalkan aliran data, dan mempertahankan pipeline yang skalabel.
Sumber daya
Berikut beberapa sumber berharga, termasuk proyek terpandu dan kursus, yang memberikan panduan langkah demi langkah:
Proyek terpandu:
- Membangun Pipeline Data Ritel: Proyek terpandu ini membawa Anda membangun pipeline data ritel menggunakan data ritel Walmart. Anda akan belajar mengambil data dari basis data SQL dan file Parquet, mentransformasikannya untuk analisis, dan memuatnya ke format yang mudah diakses.
Kursus:
- Database Design: Pemahaman yang solid tentang desain basis data sangat penting saat mengerjakan pipeline data. Kursus ini membahas dasar-dasar merancang dan menstrukturkan basis data, yang berharga untuk menangani sumber data beragam dan mengoptimalkan penyimpanan.
Keterampilan yang dikembangkan
- Merancang pipeline data untuk use case dunia nyata.
- Mengekstrak data dari banyak sumber dan berbagai format.
- Membersihkan dan mentransformasi data dari berbagai format untuk meningkatkan konsistensi dan kualitasnya.
- Memuat data ini ke format yang mudah diakses.
Proyek 6: Faktor yang memengaruhi performa siswa dengan SQL
Dalam proyek ini, Anda akan menganalisis basis data komprehensif yang berfokus pada berbagai faktor yang memengaruhi keberhasilan siswa, seperti kebiasaan belajar, pola tidur, dan keterlibatan orang tua. Dengan menyusun kueri SQL, Anda akan menyelidiki hubungan antara faktor-faktor ini dan nilai ujian, mengeksplorasi pertanyaan seperti pengaruh kegiatan ekstrakurikuler dan tidur terhadap performa akademik.
Proyek ini membangun keterampilan data engineering dengan meningkatkan kemampuan Anda memanipulasi dan mengkueri basis data secara efektif.
Anda akan mengembangkan keterampilan dalam analisis data, interpretasi, dan menarik wawasan dari dataset kompleks—penting untuk pengambilan keputusan berbasis data dalam konteks pendidikan dan di luar itu.
Sumber daya
Berikut beberapa sumber daya, termasuk proyek terpandu dan kursus, yang memberikan panduan langkah demi langkah:
Proyek terpandu:
- Faktor Pendorong Performa Siswa: Proyek terpandu ini memungkinkan Anda mengeksplorasi pengaruh berbagai faktor terhadap keberhasilan siswa dengan menganalisis basis data komprehensif. Anda akan menggunakan SQL untuk menyelidiki hubungan antara kebiasaan belajar, pola tidur, dan performa akademik, serta mendapatkan pengalaman dalam analisis pendidikan berbasis data.
Kursus:
- Data Manipulation in SQL: Fondasi yang kuat dalam manipulasi data SQL adalah kunci untuk proyek ini. Kursus ini mencakup teknik SQL untuk mengekstrak, mentransformasi, dan menganalisis data dalam basis data relasional, membekali Anda dengan keterampilan menangani dataset kompleks.
Keterampilan yang dikembangkan
- Menulis dan mengoptimalkan kueri SQL untuk mengambil dan memanipulasi data secara efektif.
- Menganalisis dataset kompleks untuk mengidentifikasi tren dan hubungan.
- Merumuskan hipotesis dan menafsirkan hasil berdasarkan data.
Proyek 7: Analitik lokal berperforma tinggi dengan DuckDB
Sementara proyek sebelumnya berfokus pada penulisan kueri, proyek ini berfokus pada performa dan arsitektur. Anda akan menggunakan DuckDB, basis data modern "in-process", untuk menganalisis dataset yang akan terlalu lambat atau berat untuk alat standar seperti Excel atau Pandas.
Anda akan mengambil dataset publik besar (seperti NYC Taxi Trip Data atau Data Citibike ), mengonversinya ke format Parquet standar industri, dan menjalankan kueri agregasi yang kompleks. Anda akan mempelajari bagaimana "Penyimpanan Kolumnar" memungkinkan Anda mengkueri jutaan baris dalam sepersekian detik di laptop Anda sendiri, tanpa perlu memasang server.
Proyek ini mengesankan bagi pemberi kerja karena menunjukkan bahwa Anda mengikuti tren terbaru dalam "Modern Data Stack".
Sumber daya
Berikut sumber daya untuk membantu Anda membangun proyek berperforma tinggi ini:
- Sumber Data:
- NYC Taxi & Limousine Commission: Gunakan "Yellow Taxi Trip Records" untuk dataset dunia nyata yang tangguh dan sempurna untuk menguji kecepatan.
- Dokumentasi:
- DuckDB "SQL on Parquet": Baca panduan resmi tentang cara mengkueri file Parquet secara langsung. Ini adalah keterampilan inti proyek ini.
Keterampilan yang dikembangkan
- Memahami Penyimpanan Kolumnar (Parquet) vs. Penyimpanan Berbasis Baris (CSV).
- Menggunakan DuckDB untuk SQL berkecepatan tinggi tanpa server.
- Melakukan benchmark performa kueri.
- Bekerja dengan dataset yang "lebih besar dari memori" di mesin lokal.
Proyek Data Engineering Tingkat Lanjutan
Salah satu ciri data engineer tingkat lanjut adalah kemampuan membuat pipeline yang dapat menangani berbagai tipe data di berbagai teknologi. Proyek-proyek ini berfokus pada perluasan keterampilan Anda dengan menggabungkan beberapa alat data engineering tingkat lanjut untuk membuat sistem pemrosesan data yang skalabel.
Proyek 8: Membersihkan dataset dengan Pyspark
Dengan alat tingkat lanjut seperti PySpark, Anda dapat membangun pipeline yang memanfaatkan kemampuan Apache Spark.
Sebelum mencoba membangun proyek seperti ini, penting untuk menyelesaikan kursus pengantar guna memahami dasar-dasar PySpark. Pengetahuan dasar ini akan memungkinkan Anda memanfaatkan alat ini sepenuhnya untuk ekstraksi, transformasi, dan pemuatan data yang efektif.
Sumber daya
Berikut beberapa sumber berharga, termasuk proyek terpandu, kursus, dan tutorial, yang memberikan panduan langkah demi langkah:
Proyek terpandu:
- Membersihkan Dataset Pesanan dengan PySpark: Proyek terpandu ini memandu Anda membersihkan dataset pesanan e-niaga menggunakan PySpark, membantu Anda memahami cara mengekstrak, mentransformasi, dan memuat data secara skalabel dengan Apache Spark.
Kursus:
- Introduction to PySpark: Kursus ini memberikan pengantar mendalam tentang PySpark, mencakup konsep dan teknik penting untuk bekerja secara efektif dengan dataset besar di Spark. Ini titik awal yang ideal untuk membangun fondasi kuat di PySpark.
Tutorial:
- PySpark Tutorial: Getting Started with PySpark: Tutorial ini memperkenalkan komponen inti PySpark, memandu Anda melalui penyiapan dan operasi dasar sehingga Anda dapat dengan percaya diri mulai membangun pipeline data dengan PySpark.
Keterampilan yang dikembangkan
- Memperluas pengalaman dengan PySpark
- Membersihkan dan mentransformasi data untuk pemangku kepentingan
- Mengambil batch data dalam jumlah besar
- Memperdalam pengetahuan Python dalam proses ETL
Proyek 9: Pemodelan data dengan dbt dan BigQuery
Alat modern yang populer dan kuat bagi data engineer adalah dbt (Data Build Tool), yang memungkinkan data engineer mengikuti pendekatan pengembangan perangkat lunak. Alat ini menawarkan kontrol versi yang intuitif, pengujian, pembuatan kode boilerplate, lineage, dan lingkungan. dbt dapat dikombinasikan dengan BigQuery atau gudang data cloud lainnya untuk menyimpan dan mengelola dataset Anda.
Proyek ini akan memungkinkan Anda membuat pipeline di dbt, menghasilkan view, dan menautkan data akhir ke BigQuery.
Sumber daya
Berikut beberapa sumber berharga, termasuk kursus dan tutorial video, yang memberikan panduan langkah demi langkah:
Video YouTube:
- End to End Modern Data Engineering with dbt: Dalam video ini, CodeWithYu memberikan panduan komprehensif menyiapkan dan menggunakan dbt dengan BigQuery, mencakup langkah-langkah membangun pipeline data dan menghasilkan view. Ini panduan yang membantu bagi pemula yang belajar menggabungkan dbt dan BigQuery dalam alur kerja data engineering.
Kursus:
- Introduction to dbt: Kursus ini memperkenalkan dasar-dasar dbt, mencakup konsep dasar seperti alur kerja Git, pengujian, dan manajemen lingkungan. Ini titik awal yang sangat baik untuk menggunakan dbt secara efektif dalam proyek data engineering.
Keterampilan yang dikembangkan
- Mempelajari dbt
- Mempelajari BigQuery
- Memahami cara membuat transformasi berbasis SQL
- Menggunakan praktik terbaik rekayasa perangkat lunak dalam data engineering (kontrol versi, pengujian, dan dokumentasi)
Proyek 10: Airflow dan Snowflake ETL menggunakan penyimpanan S3 dan BI di Tableau
Dalam proyek ini, kita akan melihat penggunaan Airflow untuk menarik data menggunakan API dan mentransfer data tersebut ke Snowflake menggunakan bucket Amazon S3. Tujuannya adalah menangani ETL di Airflow dan penyimpanan analitik di Snowflake.
Ini proyek yang sangat baik karena terhubung ke beberapa sumber data melalui sejumlah sistem penyimpanan cloud, semuanya diorkestrasi dengan Airflow. Proyek ini sangat lengkap karena memiliki banyak komponen yang bergerak dan menyerupai arsitektur data dunia nyata. Proyek ini juga menyentuh business intelligence (BI) dengan menambahkan visualisasi di Tableau.
Sumber daya
Berikut beberapa sumber berharga, termasuk kursus dan tutorial video, yang memberikan panduan langkah demi langkah:
Video YouTube:
- Data Pipeline dengan Airflow, S3, dan Snowflake: Dalam video ini, Seattle Data Guy menunjukkan cara menggunakan Airflow untuk menarik data dari PredictIt API, memuatnya ke Amazon S3, melakukan transformasi Snowflake, dan membuat visualisasi Tableau. Panduan end-to-end ini ideal untuk memahami integrasi berbagai alat dalam pipeline data.
Kursus:
- Introduction to Apache Airflow in Python: Kursus ini memberikan ikhtisar Apache Airflow, mencakup konsep penting seperti DAG, operator, dan ketergantungan tugas. Ini fondasi yang bagus untuk memahami cara menyusun dan mengelola alur kerja di Airflow.
- Introduction to Snowflake: Kursus ini memperkenalkan Snowflake, solusi gudang data yang kuat. Mencakup pengelolaan penyimpanan data, pengkuerian, dan optimasi. Sangat cocok untuk memperoleh pengetahuan dasar sebelum bekerja dengan Snowflake dalam pipeline data.
- Data Visualization in Tableau: Kursus ini mencakup keterampilan Tableau penting untuk visualisasi data, memungkinkan Anda mengubah data menjadi visual yang informatif—langkah inti untuk menafsirkan keluaran pipeline data.
Keterampilan yang dikembangkan
- Berlatih membuat DAG di Airflow
- Berlatih terhubung ke API di Python
- Berlatih menyimpan data di bucket Amazon S3
- Memindahkan data dari Amazon ke Snowflake untuk analisis
- Visualisasi data sederhana di Tableau
- Menciptakan platform data yang komprehensif, end-to-end
Proyek 11: Hacker News ETL di AWS menggunakan Airflow
Proyek ini menangani pipeline data kompleks dengan beberapa langkah menggunakan alat pemrosesan data tingkat lanjut dalam ekosistem AWS.
Alih-alih berurusan dengan API media sosial yang dibatasi, Anda akan menggunakan Hacker News API, yang sepenuhnya gratis dan terbuka. Anda akan menyiapkan Apache Airflow untuk mengekstrak cerita utama dan komentar, mentransformasi data untuk meratakan struktur JSON bertingkat, dan memuatnya ke cloud.
Arsitekturnya mengikuti pola standar "Modern Data Stack":
- Extract: Airflow memicu skrip Python untuk mengambil data dari Hacker News API.
- Load: Data JSON mentah dibuang ke Amazon S3 bucket ("Data Lake" Anda).
- Transform: Anda akan menggunakan AWS Glue untuk merayapi data dan membuat skema.
- Analyze: Terakhir, Anda akan menggunakan Amazon Athena untuk menjalankan kueri SQL langsung pada data S3 Anda (analisis tanpa server) atau memuatnya ke Amazon Redshift untuk warehousing.
Sumber daya
Berikut beberapa sumber daya, termasuk kursus dan tutorial video, yang memberikan panduan langkah demi langkah:
Dokumentasi:
- Hacker News API: Dokumentasi resminya sederhana dan dihosting di GitHub. Mengajarkan Anda cara menelusuri "Item IDs" untuk menemukan cerita dan komentar.
Repositori GitHub:
- News Data Pipeline dengan Airflow & AWS: Carilah repositori yang mendemonstrasikan pipeline "Airflow to S3". Anda dapat dengan mudah mengadaptasinya dengan hanya mengganti endpoint API dari "NewsAPI" ke "Hacker News".
- dlt (Data Load Tool) Hacker News Demo: Tim di
dltHubmemiliki posting blog dan repo hebat khusus tentang menarik data Hacker News ke gudang data. Ini referensi alternatif modern yang bagus.
Kursus dan tutorial:
- Introduction to AWS: Kursus ini memberikan fondasi yang kuat di AWS, mencakup konsep dan alat penting. Memahami dasar layanan AWS seperti S3, Glue, Athena, dan Redshift akan sangat penting untuk berhasil mengimplementasikan proyek ini.
- AWS Glue & Athena: Carilah tutorial khusus tentang "merayapi data JSON di S3 dengan Glue" untuk memahami cara mengubah file mentah menjadi tabel yang dapat dikueri.
Keterampilan yang dikembangkan
- Orkestrasi: membuat DAG kompleks di Airflow untuk mengelola dependensi.
- Interaksi API: mengambil data bertingkat secara rekursif (komentar di dalam cerita) dari API publik.
- Data Lake: Menyimpan data partisi mentah di Amazon S3.
- Serverless SQL: Menggunakan AWS Glue untuk mengkatalogkan data dan AWS Athena untuk mengkuerinya tanpa server basis data.
- Infrastruktur: Mengelola izin AWS (IAM) agar Airflow dapat berbicara dengan S3.
Proyek 12: Membangun pipeline data real-time dengan PySpark, Kafka, dan Redshift
Dalam proyek ini, Anda akan membuat pipeline data real-time yang tangguh menggunakan PySpark, Apache Kafka, dan Amazon Redshift untuk menangani volume tinggi pengambilan, pemrosesan, dan penyimpanan data.
Pipeline akan menangkap data dari berbagai sumber secara real-time, memproses dan mentransformasikannya menggunakan PySpark, lalu memuat data yang telah ditransformasi ke Redshift untuk analisis lebih lanjut. Selain itu, Anda akan menerapkan pemantauan dan pemberitahuan untuk memastikan akurasi data dan keandalan pipeline.
Proyek ini merupakan kesempatan yang sangat baik untuk membangun keterampilan dasar dalam pemrosesan data real-time dan menangani teknologi big data, seperti Kafka untuk streaming dan Redshift untuk gudang data berbasis cloud.
Sumber daya
Berikut beberapa sumber daya, termasuk kursus dan tutorial video, yang memberikan panduan langkah demi langkah:
Video YouTube:
- Membangun Pipeline Data Real-Time dengan PySpark, Kafka, dan Redshift: Video oleh Darshir Parmar ini memandu Anda membangun pipeline data real-time lengkap dengan PySpark, Kafka, dan Redshift. Mencakup langkah-langkah pengambilan, transformasi, dan pemuatan data. Video ini juga membahas teknik pemantauan dan pemberitahuan untuk memastikan kinerja pipeline.
Kursus:
- Introduction to Apache Kafka: Kursus ini membahas dasar-dasar Apache Kafka, komponen penting untuk streaming data real-time dalam proyek ini. Menyediakan gambaran arsitektur Kafka dan cara mengimplementasikannya dalam pipeline data.
- Streaming Concepts: Kursus ini memperkenalkan konsep dasar streaming data, termasuk pemrosesan real-time dan arsitektur berbasis peristiwa. Ini sumber yang ideal untuk memperoleh pengetahuan dasar sebelum membangun pipeline real-time.
Tabel Ringkasan Proyek Data Engineering
Berikut ringkasan proyek data engineering di atas untuk memberi Anda referensi cepat terhadap berbagai proyek:
| Nama Proyek | Tingkat | Keterampilan yang Dikembangkan | Alat & Teknologi |
|---|---|---|---|
| 1. ETL Pipeline dengan Data Terbuka | Pemula | Ekstraksi, pembersihan, dan pemuatan data; Bekerja dengan format kolumnar; Gudang data cloud. | Python, Polars (atau Pandas), Google BigQuery, Parquet, CSV |
| 2. Pipeline Data Cuaca | Pemula | Pengumpulan data API; Pembersihan data; Dasar-dasar containerization; Penyimpanan SQL. | Python, Open-Meteo API, PostgreSQL, Docker, SQL |
| 3. Analisis Transportasi London | Pemula | Analisis data skala besar; Konsep big data; Pemahaman konteks kueri. | Snowflake, Amazon Redshift, BigQuery, atau Databricks |
| 4. Melakukan Code Review | Menengah | Evaluasi kode; Deteksi bug; Identifikasi kesalahan logika; Umpan balik rekan. | Alat Code Review (Umum), Git |
| 5. Membangun Pipeline Data Ritel | Menengah | Desain pipeline; Ekstraksi multi-sumber; Konsistensi data; Optimasi. | SQL, Parquet, Python, Alat Basis Data |
| 6. Faktor yang Mempengaruhi Performa Siswa | Menengah | Kueri SQL kompleks; Identifikasi tren; Pengujian hipotesis; Interpretasi data. | SQL (Basis Data Relasional) |
| 7. Analitik Lokal Berperforma Tinggi | Menengah | Penyimpanan kolumnar vs. baris; SQL tanpa server; Benchmarking; Pemrosesan big data lokal. | DuckDB, Parquet, Data NYC Taxi/Citibike |
| 8. Membersihkan dataset dengan Pyspark | Lanjutan | Komputasi terdistribusi; Pengambilan data skala besar; ETL dengan Spark. | PySpark, Apache Spark, Python |
| 9. Pemodelan Data dengan dbt | Lanjutan | Pemodelan data; Praktik terbaik rekayasa perangkat lunak (CI/CD, pengujian); Transformasi SQL. | dbt (Data Build Tool), Google BigQuery, Git |
| 10. Airflow & Snowflake ETL | Lanjutan | Pembuatan DAG; Koneksi API; Integrasi penyimpanan cloud; Business Intelligence (BI). | Apache Airflow, Amazon S3, Snowflake, Tableau, Python |
| 11. Hacker News ETL di AWS | Lanjutan | Orkestrasi; Menangani JSON bertingkat; Data Lake; SQL tanpa server; Manajemen infrastruktur. | Apache Airflow, AWS S3, AWS Glue, AWS Athena, AWS Redshift |
| 12. Pipeline Data Real-time | Lanjutan | Streaming data real-time; Pengambilan volume tinggi; Pemantauan & pemberitahuan; Arsitektur berbasis peristiwa. | PySpark, Apache Kafka, Amazon Redshift |
Kesimpulan
Artikel ini menyajikan proyek-proyek yang sangat baik untuk membantu Anda melatih keterampilan data engineering.
Fokuslah untuk memahami konsep fundamental di balik cara kerja setiap alat; ini akan memungkinkan Anda menggunakan proyek-proyek ini dalam pencarian kerja dan menjelaskannya dengan baik. Pastikan meninjau kembali konsep apa pun yang Anda rasa menantang.
Selain membangun portofolio proyek, saya merekomendasikan mengambil jalur Professional Data Engineer in Python dan berupaya memperoleh sertifikasi data engineering. Ini dapat menjadi tambahan berharga untuk resume Anda, karena menunjukkan komitmen Anda menyelesaikan mata kuliah yang relevan.
FAQ
Keterampilan apa yang saya butuhkan untuk mulai mengerjakan proyek data engineering?
Untuk proyek tingkat pemula, pengetahuan dasar pemrograman dalam Python atau SQL dan pemahaman dasar data (seperti pembersihan dan transformasi) sangat membantu. Proyek tingkat menengah dan lanjutan sering kali memerlukan pengetahuan alat tertentu, seperti Apache Airflow, Kafka, atau gudang data berbasis cloud seperti BigQuery atau Redshift.
Bagaimana proyek data engineering dapat membantu membangun portofolio saya?
Menyelesaikan proyek data engineering memungkinkan Anda menunjukkan kemampuan bekerja dengan data skala besar, membangun pipeline yang tangguh, dan mengelola basis data. Proyek yang mencakup alur kerja end-to-end (dari pengambilan data hingga analisis) menunjukkan keterampilan praktis kepada calon pemberi kerja dan sangat berharga untuk portofolio.
Apakah alat cloud seperti AWS dan Google BigQuery diperlukan untuk proyek data engineering?
Meskipun tidak sepenuhnya wajib, alat cloud sangat relevan untuk data engineering modern. Banyak perusahaan mengandalkan platform berbasis cloud untuk skalabilitas dan aksesibilitas, sehingga mempelajari alat seperti AWS, Google BigQuery, dan Snowflake dapat memberi Anda keunggulan dan menyelaraskan keterampilan Anda dengan kebutuhan industri.
Bagaimana saya memilih proyek data engineering yang sesuai dengan tingkat kemampuan saya?
Mulailah dengan menilai pengetahuan dan kenyamanan Anda terhadap alat inti. Untuk pemula, proyek seperti pembersihan data atau membangun pipeline ETL dasar di Python sangat bagus. Proyek tingkat menengah mungkin melibatkan basis data dan kueri yang lebih kompleks, sementara proyek tingkat lanjut sering mengintegrasikan banyak alat (misalnya, PySpark, Kafka, Redshift) untuk pemrosesan data real-time atau skala besar.
Saya seorang data scientist dengan pengalaman dalam analisis spasial, machine learning, dan pipeline data. Saya pernah bekerja dengan GCP, Hadoop, Hive, Snowflake, Airflow, dan proses data science/engineering lainnya.

