MulaiMulai sekarang secara gratis

Membangun data pipeline

Menggunakan factory method tidak hanya membuat kode lebih mudah dibaca, tetapi juga lebih mudah digunakan. Dalam contoh ini, Anda akan berlatih membuat data pipeline yang mengekstrak data dari basis data. Kelas DataPipeline menerapkan pola desain factory method, dan ditunjukkan di sini. Juga telah didefinisikan untuk Anda dua produk konkret dari kelas Database: Postgres dan Redshift.

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

Latihan ini adalah bagian dari kursus

Pemrograman Berorientasi Objek Tingkat Menengah di Python

Lihat Kursus

Petunjuk latihan

  • Buat items_pipeline menggunakan kelas DataPipeline, ekstrak sebuah himpunan data dari basis data "Redshift" dengan kueri SELECT * FROM items;.
  • Perbarui items_pipeline untuk mengambil data dari basis data "Postgres" sebagai gantinya, menggunakan kueri yang sama seperti sebelumnya.
  • Buat etl_pipeline yang mengekstrak data dari "Redshift".

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Create an ETL DataPipeline, query using Redshift
items_pipeline = ____()
____.extract_data("____", "SELECT * FROM items;")

# Now, switch the pipeline to Postgres
____

# Finally, create an etl_pipeline with Redshift
____ = ____()
____.____("____", "SELECT * FROM sales;")
Edit dan Jalankan Kode