Apache Airflow – Community Dev

مقدمه
در اکوسیستم داده های مدرن ، مدیریت و خودکار کردن گردش کار پیچیده برای اطمینان از حرکت یکپارچه بین سیستم ها ، خدمات و لایه های ذخیره سازی ضروری است. Apache Airflow را وارد کنید ، یک پلت فرم قدرتمند منبع باز برای نویسنده برنامه نویسی ، برنامه و نظارت بر گردش کار. در ابتدا در Airbnb توسعه یافته و بعداً به بنیاد نرم افزار Apache کمک کرده است ، Airflow به سرعت به سنگ بنای تیم های مهندسی داده در سراسر جهان تبدیل شده است.
جریان هوا Apache چیست؟
Apache Airflow یک ابزار ارکستراسیون گردش کار است که به شما امکان می دهد وظایف و وابستگی ها را به عنوان کد تعریف کنید. گردش کار در جریان هوا به صورت DAG (نمودارهای آسیكلیك) با استفاده از پایتون نوشته شده است و آنها را پویا ، مقیاس پذیر و آسان برای نگهداری می كند.
ویژگی های کلیدی
- تولید خط لوله پویا با استفاده از پایتون
- UI Rich Web برای پیگیری پیشرفت و عیب یابی
- معماری مقیاس پذیر از طریق کرفس ، Kubernetes یا سایر مجریان
- چارچوب گسترده با اپراتورهای سفارشی ، سنسورها و قلاب ها
- برنامه ریزی و نظارت داخلی
- ادغام با خدمات اصلی ابر و پیش فرض
مفاهیم اصلی
DAG (نمودار acyclic کارگردانی)
DAG نمایانگر یک گردش کار است. این مجموعه از یک سری کارها با وابستگی های تعریف شده و ترتیب اجرای تشکیل شده است ، و اطمینان حاصل می کند که هر کار فقط پس از اتمام موفقیت های خود با موفقیت انجام می شود.
عملگر
اپراتورها آنچه را که در واقع انجام می شود تعریف می کنند. جریان هوا شامل انواع مختلفی است:
Bashoperator: یک دستور bash را اجرا می کند
Pythonoperator: توابع پایتون را اجرا می کند
httpsensor: منتظر پاسخ HTTP خاص است
S3toredShiftOperator ، postgresoperator و غیره .: انتقال داده ها و نمایش داده شد
برنامه ریزی و مجری
برنامه ریز تعاریف DAG را نظارت می کند و طبق برنامه های خود وظایف را بر عهده می گیرد. مجری این کارها را انجام می دهد-چه به صورت محلی ، از طریق کرفس (توزیع شده) یا در Kubernetes برای گردش کار در مقیاس بزرگ.
موارد استفاده
خطوط لوله ETL: مصرف ، تبدیل و بارگیری داده ها از منابع متنوع
گردش کار علوم داده: آموزش خودکار ، ارزیابی و استقرار مدل
خطوط لوله یادگیری ماشین: مراحل ارکستر مانند تهیه داده ها ، آموزش مدل و استنباط
بررسی کیفیت داده ها: به طور مرتب تست های اعتبار سنجی را روی داده ها اجرا می کنید
نظارت و ورود به سیستم
Airflow یک UI وب غنی را ارائه می دهد که ارائه می دهد:
- وضعیت کار با یک نگاه
- برای هر نمونه کار ثبت نام کنید
- نمودارهای گانت و نمودارهای وابستگی
- تحریک دستی وظایف یا اجرای DAG
بهترین روشها
- برای حفظ قابلیت استفاده از فایلهای DAG مدولار استفاده کنید
- نسخه DAG های خود را کنترل کنید (به عنوان مثال ، از طریق GIT)
- با آزمایشات و هشدارها شکست های کار را انجام دهید
- جریان هوا ایمن با دسترسی مبتنی بر نقش و اتصالات رمزگذاری شده
-
برای تبادل داده بین کارها با دقت از XCOM استفاده کنید
جریان هوا در ابر
-
بسیاری از ارائه دهندگان ابر خدمات جریان هوایی مدیریت شده را ارائه می دهند ، از جمله:
-
آهنگساز Google Cloud
-
آمازون MWAA (گردش کار مدیریت شده برای جریان Apache Airflow)
-
ستاره شناور ابر
این خدمات باعث کاهش سربار تنظیم ، مقیاس بندی و نگهداری می شوند و استقرار جریان هوا در تولید را آسان تر می کنند.
پایان
Apache Airflow روشی انعطاف پذیر و قدرتمند برای گردش کار ارکستر فراهم می کند. با اکوسیستم قوی و جامعه پر جنب و جوش ، به یک راه حل برای اتوماسیون خط لوله داده تبدیل شده است. این که آیا شما در حال مدیریت مشاغل کوچک ETL هستید یا گردش کار یادگیری ماشین پیچیده ارکستر ، جریان هوا به شما امکان کنترل و مشاهده مورد نیاز برای عملیات قابل اعتماد را می دهد