ابوالفضل وکیلی
ابوالفضل وکیلی
خواندن ۲ دقیقه·۳ سال پیش

آپاچی Airflow چیست، چرا و چگونه؟!

Apache Airflow
Apache Airflow

یکی از مهارت هایی که به عنوان پایه ثابت آگهی های استخدامی شغل مهندس داده بیان می شود، آشنایی با ابزاری است که بتوان جریان های کاری را مدیریت نمود. یکی از بهترین و معروف ترین ابزار های موجود در بازار، نرم افزار Apache Airflow است.

در این مقاله ابتدا به تعریف Airflow می پردازیم. سپس بررسی خواهیم کرد که چرا بیشتر از این نرم افزار استفاده می شود. در انتها نیز چگونگی نصب این برنامه را بررسی می نماییم.




چیست؟

نرم افزار Apache Airflow که متعلق به بنیاد اپاچی است، به عنوان سیستم مدیریت جریان کاری شناخته می شود.

اما جریان کار چیست؟!

فعالیت های که در یک بازه زمانی مشخص، به صورت زمانبندی شده و به ترتیب انجام می دهید، به عنوان جریان کار شناخته می شود.

به عنوان مثال برنامه ای را در نظر بگیرد که هر دو ساعت یکبار، داده های خاصی را از پایگاه داده را می خواند و سپس تغییرات مورد نیاز روی آن ها را اعمال می نماید. در نهایت داده های آماده شده را در انبار داده ای ذخیره می کند.

در واقع گرافی است که نود های ان بیانگر تسک ها و یال های آن، بیانگر روابط بین تسک ها است.

با استفاده از نرم افزار Apache Airflow می توان جریان های کاری مختلفی را مدیریت نمود.

چرا؟

چرایی استفاده از Airflow بسیار است! اما به مهم ترین ویژگی های آن در زیر اشاره می کنیم:

  • مهم ترین ویژگی Airflow دارا بودن محیط گرافیکی مناسب در کنار استفاده از ابزار های خط فرمان است.
  • با استفاده از Airflow می توان حالات مختلفی را در خطوط پردازش داده در نظر گرفت. به عنوان مثال می توان تسک ها را به صورت Parallel اجرا نمود، ددلاینی برای هر تسک در نظر گرفت یا متریک های مورد نظر را از داده های لاگ، در ابزار های مصور سازی نمایش داد.
  • در صورتی که اجرا تسکی با مشکلی مواجه شود، می توان آن را مدیریت نمود.
  • نیازی نیست برای کار های ساده روزمره، دائما در حال برنامه نویسی بود. این ویژگی می تواند از درگیری شخص با پیچیدگی ها و جزئیات برنامه نویسی جلوگیری نماید.
  • استفاده از زبان برنامه نویسی پایتون در تعریف جریان های کاری

چگونه Airflow را نصب کنیم؟

از میان روش هایی که برای نصب Airflow وجود دارد، من به روش نصب با استفاده از docker compose خواهم پرداخت.

برای این منظور می بایست Docker و docker compose از پیش نصب شده باشد.

توسط قسمت زیر می توانید از compose file که توسط بنیاد آپاچی نوشته شده است را دانلود نمایید.

mkdir -p ./dags ./logs ./plugins echo -e &quotAIRFLOW_UID=$(id -u)\nAIRFLOW_GID=0&quot > .env curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.1.3/docker-compose.yaml'

می توانید توسط لینک زیر، اطلاعات بیشتری درباره این compose file بدست آورید.

https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html#docker-compose-yaml


در نهایت کانتینر ها را up می کنیم.

docker-compose -f ./compose-file.yml up -d

به آدرس localhost:8080 رجوع کنید و نام کاربری و کلمه عبوری که در کامپوز فایل مشخص نموده اید را وارد نمایید. به صورت پیش فرض:

user name: airflow

password: airflow

و در پایان ...

در این مقاله سعی شد با فاصله گرفتن از اصلاحات و مفاهیم تخصصی airflow معرفی کلی از آن داشته باشیم. سپس به نحوه نصب با استفاده تکنولوژی داکر پرداختیم.

امیدوارم نوشته امروز برایتان مفید بوده باشد.

از همراهیتان صمیمانه ممنونم ???

airflowapachepythonData Engineerمهندسی داده
instagram : @a_vakily7
شاید از این پست‌ها خوشتان بیاید