1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Lập trình Hướng đối tượng Nâng cao với Python

Connected

Bài tập

Xây dựng một data pipeline

Việc dùng factory method không chỉ giúp mã dễ đọc hơn mà còn dễ dùng hơn. Trong ví dụ này, bạn sẽ thực hành tạo một data pipeline để trích xuất dữ liệu từ cơ sở dữ liệu. Lớp DataPipeline triển khai mẫu thiết kế factory method và được hiển thị dưới đây. Đồng thời, hai sản phẩm cụ thể của lớp Database là Postgres và Redshift cũng đã được định nghĩa sẵn cho bạn.

class DataPipeline:
  def _get_database(self, provider):
    if provider == "Postgres":
      return Postgres()
    elif provider == "Redshift":
      return Redshift()

  def extract_data(self, provider, query):
    database = self._get_database(provider)
    dataset = database.query_data(query)
    print(f"Extracted dataset from {provider} database")
    return dataset

Hướng dẫn

100 XP
  • Tạo một items_pipeline bằng lớp DataPipeline, trích xuất một dataset từ cơ sở dữ liệu "Redshift" với truy vấn SELECT * FROM items;.
  • Cập nhật items_pipeline để lấy dữ liệu từ cơ sở dữ liệu "Postgres" thay vì trước đó, dùng cùng một truy vấn.
  • Tạo một etl_pipeline để trích xuất dữ liệu từ "Redshift".