เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การสร้าง data pipeline

การใช้ factory method ไม่เพียงช่วยให้โค้ดอ่านง่ายขึ้น แต่ยังทำให้ใช้งานได้สะดวกขึ้นด้วย ในแบบฝึกหัดนี้ จะได้ฝึกสร้าง data pipeline สำหรับดึงข้อมูลจากฐานข้อมูล คลาส DataPipeline นำรูปแบบ factory method design pattern มาใช้งาน ดังที่แสดงด้านล่าง นอกจากนี้ยังมี concrete product สองตัวของคลาส Database ได้แก่ Postgres และ 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

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Object-Oriented Programming ใน Python ระดับกลาง

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้าง items_pipeline โดยใช้คลาส DataPipeline แล้วดึงชุดข้อมูลจากฐานข้อมูล "Redshift" ด้วยคิวรี SELECT * FROM items;
  • อัปเดต items_pipeline ให้ดึงข้อมูลจากฐานข้อมูล "Postgres" แทน โดยใช้คิวรีเดิม
  • สร้าง etl_pipeline สำหรับดึงข้อมูลจาก "Redshift"

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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;")
แก้ไขและรันโค้ด