แชร์ผ่าน


ติดตั้งแพคเกจส่วนตัวตามความต้องการในงานกระแสอากาศ Apache

หมายเหตุ

งานกระแสอากาศ Apache ขับเคลื่อนด้วย กระแสอากาศ Apache

แพคเกจ python คือวิธีการจัดระเบียบโมดูล Python ที่เกี่ยวข้องลงในลําดับชั้นไดเรกทอรีเดียว แพคเกจมักจะแสดงเป็นไดเรกทอรีที่ประกอบด้วยไฟล์พิเศษที่เรียกว่า init.py ภายในไดเรกทอรีแพคเกจ คุณสามารถมีไฟล์โมดูล Python ได้หลายไฟล์ (ไฟล์.py) ที่กําหนดฟังก์ชัน ระดับ และตัวแปร ในบริบทของงานกระแสอากาศ Apache คุณสามารถพัฒนาแพคเกจส่วนตัวของคุณเพื่อเพิ่มตัวดําเนินการกระแสอากาศ Apache แบบกําหนดเอง, ตะขอ, เซ็นเซอร์, ปลั๊กอิน ฯลฯ

ในบทช่วยสอนนี้ คุณจะสร้างตัวดําเนินการแบบกําหนดเองอย่างง่ายเป็นแพคเกจ Python เพิ่มเป็นข้อกําหนดในสภาพแวดล้อมงานกระแสอากาศ Apache และนําเข้าแพคเกจส่วนตัวเป็นโมดูลภายในไฟล์ DAG

พัฒนาตัวดําเนินการแบบกําหนดเองและทดสอบด้วย Apache Airflow Dag

  1. สร้างไฟล์ sample_operator.py และแปลงเป็นแพคเกจส่วนตัว อ้างอิงถึงคําแนะนํา: การสร้างแพคเกจใน python

    from airflow.models.baseoperator import BaseOperator
    
    
    class SampleOperator(BaseOperator):
        def __init__(self, name: str, **kwargs) -> None:
            super().__init__(**kwargs)
            self.name = name
    
        def execute(self, context):
            message = f"Hello {self.name}"
            return message
    
    
  2. สร้างไฟล์ sample_dag.py DAG กระแสอากาศ Apache เพื่อทดสอบตัวดําเนินการที่กําหนดไว้ในขั้นตอนที่ 1

    from datetime import datetime
    from airflow import DAG
    
     # Import from private package
    from airflow_operator.sample_operator import SampleOperator
    
    
    with DAG(
    "test-custom-package",
    tags=["example"]
    description="A simple tutorial DAG",
    schedule_interval=None,
    start_date=datetime(2021, 1, 1),
    ) as dag:
        task = SampleOperator(task_id="sample-task", name="foo_bar")
    
        task
    
  3. สร้างที่เก็บ GitHub ที่มีในsample_dag.pyDagsโฟลเดอร์ และไฟล์แพคเกจส่วนตัวของคุณ รูปแบบไฟล์ทั่วไปประกอบด้วย zip, .whl, หรือtar.gz วางไฟล์ในโฟลเดอร์ 'Dags' หรือ 'Plugins' ตามความเหมาะสม ซิงโครไนซ์ Git Reposit ของคุณเข้ากับงานกระแสอากาศ Apache หรือคุณสามารถใช้ที่เก็บที่กําหนดค่าไว้ล่วงหน้า Install-Private-Package

เพิ่มแพคเกจของคุณตามความต้องการ

เพิ่มแพคเกจเป็นความต้องการภายใต้Airflow requirements ใช้รูปแบบ /opt/airflow/git/<repoName>.git/<pathToPrivatePackage>

ตัวอย่างเช่น หากแพคเกจส่วนตัวของคุณอยู่ใน /dags/test/private.whl ที่เก็บ GitHub ให้เพิ่มข้อกําหนด /opt/airflow/git/<repoName>.git/dags/test/private.whl ลงในสภาพแวดล้อม Airflow

สกรีนช็อตที่แสดงแพคเกจส่วนตัวที่เพิ่มตามความต้องการ

เริ่มต้นใช้งานด่วน: สร้างงานกระแสอากาศ Apache