آموزش نصب Airflow روی لوکال هاست
یکی از ابزارهای کارآمدی که برای مدیریت جریانهای کاری در مهندسی داده بهکار برده میشود، آپاچی ایرفلو نام دارد. استفاده از این ابزار در تجزیهوتحلیل و مهندسی داده بسیار مهم است. در این مقاله از بلاگ آکادمی ابرها، میخواهیم نحوه نصب مستقل ایرفلو روی سیستم را به شما آموزش دهیم؛ پس تا پایان با ما همراه باشید.
قدم اول: نکاتی که باید مدنظر قرار دهید
قبل از شروع فرایند نصب، به این نکات دقت کنید:
- برای نصب آپاچی ایرفلو روی لوکال هاست، به محیط پایتون ۳ نیاز دارید.
- درحالحاضر، تنها نصب ازطریق PIP رسماً پشتیبانی میشود. درصورتیکه از ابزارهای دیگر مانند Poetry یا PIP-tools میخواهید فرایند نصب را انجام دهید، باتوجهبه اینکه این ابزارها جریان کاری مشابهی با PIP ندارند، فعلاً استفاده از این سرویسها پشتیبانی نمیشود. بنابراین اگر قصد دارید با استفاده از این سرویسها Airflow را روی لوکال هاست خود نصب کنید، باید محدودیتهای آن را نیز بپذیرید یا ایرفلو را بهصورت دستی به فرمت موردنیازتان تبدیل کنید.
قدم دوم: آموزش گامبهگام نصب Airflow روی لوکال هاست
اگر دستورالعمل زیر را بهکار بگیرید، Airflow بدون دردسر روی سیستمتان نصب خواهد شد. همچنین، فراموش نکنید که این نرمافزار برای نصب مجدد از فایلهای Constraint استفاده میکند؛ بنابراین، توصیه میکنیم که از فایلهای PIP و Constraint برای نصب بهره ببرید.
برای شروع از کدهای زیر استفاده کنید:
# Airflow needs a home. `~/airflow` is the default, but you can put it # somewhere else if you prefer (optional) export AIRFLOW_HOME=~/airflow # Install Airflow using the constraints file AIRFLOW_VERSION=2.3.3 PYTHON_VERSION="$(python --version | cut -d " " -f 2 | cut -d "." -f 1-2)" # For example: 3.7 CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt" # For example: https://raw.githubusercontent.com/apache/airflow/constraints-2.3.3/constraints-3.7.txt pip install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}" # The Standalone command will initialise the database, make a user, # and start all components for you. airflow standalone # Visit localhost:8080 in the browser and use the admin account details # shown on the terminal to login. # Enable the example_bash_operator dag in the home page
با اجرای این دستورها، Airflow پوشهای با نام $Airflow_Home را ایجاد میکند و فایل airflow.cfg را با پیشفرضهایی میسازد که کمک میکند روند نصب با سرعت بیشتری انجام شود. البته شما این امکان را خواهید داشت که با استفاده از متغیرهای محیطی (Environment Variable) این تنظیمات پیشفرض را نیز مطابق با نیازتان تنظیم کنید. برای اطلاعات بیشتر درباره این موضوع، به بخش «تنظیمات پیکربندی» مراجعه کنید.
شما از دو طریق میتوانید به فایل $Airflow_Home دسترسی داشته باشید:
- استفاده از مسیر $AIRFLOW_HOME/airflow.cfg
- استفاده از رابط کاربری در مسیر Admin > Configuration
همچنین درصورتیکه Systemd فایل PID را برای وبسرور راهاندازی کرده باشد، در مسیر $AIRFLOW_HOME/airflow-webserver.pid یا /run/airflow/webserver.pid ذخیره خواهد شد.
این نکته را نیز فراموش نکنید که Airflow از پایگاهداده SQLite استفاده میکند. باتوجهبه اینکه امکان ایجاد موازیسازی در این پایگاهداده وجود ندارد (امکان استفاده همزمان چند کاربر مختلف از پایگاهداده بهواسطه چند کانال متفاوت که باعث افزایش سرعت دسترسی به دادهها میشود)، باید بهسرعت بهدنبال حل این مسئله باشید.
این مشکل باعث خواهد شد که پایگاهداده فقط در ارتباط با SequentialExecutor باشد و درنتیجه، تسکها بهصورت متوالی اجرا شوند. این موضوع محدودیتهایی هم بهدنبال دارد؛ اما این امکان را نیز به شما خواهد داد تا بهسرعت از رابط کاربری و برنامههای خط فرمان بازدید کنید.
حین استفاده از Airflow، ممکن است نیاز داشته باشید تا از دستورهای مستقل برای اجرای جداگانه اجزا کمتر استفاده کنید. برای این منظور کدهایی وجود دارد که با استفاده از آنها میتوانید چند نمونه از تسکها را فعال کنید. بهعنوان مثال، با استفاده از کدهای زیر میتوانید وضعیت تغییر برخی از تسکها را در example_bash_operator DAG مشاهده کنید:
# run your first task instance airflow tasks run example_bash_operator runme_0 2015-01-01 # run a backfill over 2 days airflow dags backfill example_bash_operator \ --start-date 2015-01-01 \ --end-date 2015-01-02
همچنین اگر قصد دارید بخشهای مختلف Airflow را بهصورت دستی اجرا کنید، با کدهای زیر بدون استفاده از فرمانهای مستقل که بهیکباره این بخشها را فعال میکنند، این کار را میتوانید انجام دهید:
airflow db init airflow users create \ --username admin \ --firstname Peter \ --lastname Parker \ --role Admin \ --email spiderman@superhero.org airflow webserver --port 8080 airflow scheduler
علاوهبراین، اگر میخواهید با نحوه نصب این نرمافزار روی Docker آشنا شوید، در مقالهی نصب Apache Airflow روی داکر نحوه انجام این کار را بهصورت گامبهگام توضیح دادهایم.
جمعبندی
Airflow یکی از ابزارهای بسیار مهم در بحث مهندسی داده است. اهمیت استفاده بهینه از این نرمافزار باتوجهبه ویژگیهای مهم موجود در آن بسیار زیاد است. یکی از مشکلاتی که معمولاً در استفاده از این نرمافزار بهچشم میخورد، نحوه نصب آن روی لوکال هاست کاربران است. در این مقاله، نحوه انجام این کار را گامبهگام آموزش دادهایم و چند آپشن دیگر را نیز در همین زمینه به شما یادآوری کردهایم.
سؤالات متداول
۱. بدون استفاده از پایتون امکان نصب Airflow وجود دارد؟
خیر، برای نصب ایرفلو روی لوکال هاست حتماً باید از محیط پایتون ۳ استفاده کنید.
۲. امکان استفاده از PIP-tools برای نصب ایرفلو وجود دارد؟
اگرچه امکان انجام این کار فراهم است، باتوجهبه محدودیتهای موجود برای استفاده از ایرفلو بهکمک این روش نصب، پیشنهاد ما استفاده از PIP است. توجه کنید تنها راهی که امکان پشتیبانی رسمی دارد، استفاده از PIP برای نصب Airflow است.
۳. کاربرد ایرفلو چیست؟
ایرفلو درحقیقت ابزاری است که با استفاده از آن، جریانهای کاری را در مهندسی داده میتوان مدیریت کرد.
دیدگاهتان را بنویسید