RobustX / Chương trình học / Vị trí công việc / Data Engineer / Python chuyên sâu cho Data Engineer

Python chuyên sâu cho Data Engineer

Đối với một Kỹ sư Dữ liệu, việc biết Python là chưa đủ; bạn phải sử dụng Python như một Kỹ sư Phần mềm thực thụ. Khóa học này được thiết kế để đưa bạn vượt qua giới hạn của việc viết các script đơn lẻ, hướng tới việc xây dựng các pipeline dữ liệu chuyên nghiệp, hiệu quả và có thể bảo trì. Đây là nơi tư duy lập trình và kỹ thuật dữ liệu giao thoa, tạo nên nền tảng vững chắc để bạn xây dựng các hệ thống dữ liệu có độ tin cậy cao.

Chương trình sẽ trang bị cho bạn một bộ kỹ năng Python chuyên sâu, bắt đầu bằng Lập trình Hướng đối tượng (OOP) – phương pháp luận giúp bạn kiến tạo nên các thành phần pipeline dưới dạng module, dễ dàng tái sử dụng và mở rộng. Bạn sẽ học cách làm chủ việc thu thập dữ liệu từ các nguồn API phức tạp, xử lý các kịch bản xác thực và phân trang để lấy dữ liệu quy mô lớn. Khóa học cũng sẽ giúp bạn xử lý thành thạo các định dạng dữ liệu công nghiệp, từ JSON phổ biến, XML truyền thống cho đến Parquet – định dạng cột hiệu năng cao cho Big Data.

Thời lượng: 30h

KẾT QUẢ ĐẠT ĐƯỢC

Yêu cầu tiên quyết:

    • Hoàn thành kiến thức của khóa học “Nền tảng về Data Engineer”.
    • Nắm vững kiến thức lập trình Python cơ bản (biến, kiểu dữ liệu, cấu trúc điều khiển, vòng lặp, hàm).
    • Sử dụng thành thạo Git và giao diện dòng lệnh (command line).

Nội dung khóa học

 1.  Lập trình Hướng đối tượng (OOP) cho Data Pipelines
  • Ôn tập các khái niệm cơ bản: Class, Object, Attribute, Method.
  • Từ duy thiết kế: Đóng gói các chức năng của pipeline vào các class riêng biệt (ví dụ: APIExtractor, DataTransformer, DataLoader).
  • Tính kế thừa (Inheritance): Xây dựng các class chuyên biệt từ một class cơ sở.
  • Tính đa hình (Polymorphism): Thiết kế các phương thức có thể hoạt động với nhiều loại đối tượng khác nhau.
 2. Xử lí dữ liệu với Pandas
  • Giới thiệu về Pandas 
    • Pandas Series và DataFrame là gì?
    • Đọc và ghi dữ liệu từ các file CSV, Excel.
    • Thao tác cơ bản: xem dữ liệu (head, tail), thông tin (info, describe).
  • Truy xuất và Lọc dữ liệu với Pandas
    • Truy xuất theo chỉ mục và tên: ilocloc.
    • Lọc dữ liệu theo một hoặc nhiều điều kiện (boolean indexing).
    • Xử lý các giá trị thiếu (missing values): isna(), fillna(), dropna().
  • Tổng hợp dữ liệu với Pandas
    • Thực hiện các phép tính tổng hợp: sum(), mean(), count(), nunique().
    • Nhóm dữ liệu với groupby() và áp dụng các hàm tổng hợp.
  • Kết hợp các bảng dữ liệu (DataFrames)
    • Kết hợp dữ liệu với pd.merge() (tương tự JOIN trong SQL).
    • Nối dữ liệu với pd.concat().
 3. Tương tác với API chuyên sâu
  • Tổng quan về RESTful API: Resources, HTTP Methods (GET, POST), Status Codes.
  • Sử dụng thư viện requests để gửi các yêu cầu API.
  • Xử lý các loại Authentication phổ biến (API Keys, OAuth).
  • Kỹ thuật xử lý phân trang (Pagination) để lấy toàn bộ dữ liệu.
  • Thực hành: Xây dựng một class APIClient để tương tác với một API thực tế.
 4. Xử lý các Định dạng Dữ liệu Phổ biến
  • Làm việc với dữ liệu JSON:
    • Sử dụng thư viện json để đọc và ghi file.
    • Parse các cấu trúc JSON lồng nhau (nested).
    • Sử dụng Pydantic để định nghĩa Schema và xác thực dữ liệu:
      • Parse dữ liệu JSON thành các đối tượng Python tin cậy.
      • Tự động validate schema, kiểm tra kiểu dữ liệu và các trường bắt buộc.
      • Xử lý tường minh các lỗi dữ liệu bị thiếu hoặc sai định dạng.
  • Làm việc với dữ liệu XML:
    • Giới thiệu về cấu trúc XML.
    • Sử dụng thư viện xml.etree.ElementTree để trích xuất dữ liệu.
  • Làm việc với định dạng Parquet:
    • Hiểu về định dạng lưu trữ theo cột (Columnar Storage) và lợi ích.
    • Sử dụng thư viện pyarrow để đọc và ghi file Parquet.
 5. Xây dựng Code Production-Ready
  • Ghi log (Logging):
    • Tại sao logging quan trọng hơn print().
    • Cấu hình thư viện logging để ghi log ra file với các cấp độ khác nhau (INFO, WARNING, ERROR).
  • Xử lý ngoại lệ (Error Handling):
    • Sử dụng try…except…finally để bắt và xử lý lỗi một cách an toàn.
    • Tạo các Custom Exception để quản lý lỗi theo nghiệp vụ.
  • Best Practices:
    • Quản lý thư viện với virtual environment và file requirements.txt.
    • Cấu trúc một dự án Python khoa học và dễ bảo trì.
 6. BÀI THỰC HÀNH CUỐI KHÓA: Xây dựng pipeline thu thập dữ liệu thị trường chứng khoán
  • Yêu cầu:
    • Thiết kế dự án theo mô hình OOP với các class chức năng rõ ràng.
    • Viết class để kết nối và lấy dữ liệu giá cổ phiếu lịch sử từ một API tài chính công khai (ví dụ: Alpha Vantage, Finnhub), có xử lý pagination.
    • Dữ liệu trả về (JSON) sẽ được xử lý, làm sạch.
    • Lưu dữ liệu đã xử lý xuống file Parquet, phân vùng theo mã cổ phiếu và năm.
    • Tích hợp logging và error handling đầy đủ cho toàn bộ pipeline.

Bài viết liên quan