Рубрики
Без рубрики

Техника данных серии № 3: Apache Airflow – современный инструмент управления рабочим процессом. Начиная

Почему такое внимание к воздуху? Процентная ставка воздушного потока. Источник: Google Tre … Теги от Opensource, Python, начинающих, карьеры.

Почему такое внимание к воздуху?

Процентная ставка воздушного потока. Источник: Google Trends

«Программная индустрия наблюдала заметное повышение в разработке инструментов для управления данными. Эти инструменты варьируются от решений для хранения, которые содержат данные о домашних условиях для трубопроводов, которые транспортируют данные ».

Компании, управляемые данными, такие как Airbnb, Quizlet полагаются на эти данные, чтобы разрешить некоторые утомительные задачи, такие как

  • Планирование
  • Тестирование
  • Обработка ошибок
  • Версию
  • Масштабирование

текущий поток данных настроен.

Мы называем эти трубопроводы данных. И известный инструмент в этом пространстве это Apache Airflow Отказ

Воздушный поток решает эти утомительные задачи,

Нажмите на функцию, если вы хотите перейти в свой раздел напрямую.

И лучшая часть всего AirFlow – это инструмент с открытым исходным кодом и имеет быстро растущую базу пользователя и вклад 🙂

Без дальнейших церемоний,

Давайте глубоким погружением в рамки рабочего процесса

И создать минималистичный трубопровод для рабочего процесса, который использует все функции воздушных потоков, которые я перечисленных выше.

✨ dags.

  1. Конфигурация DAG – Default_args.
  2. Экземпляр DAG Dag ()
  3. DAG задачи – Операторы

Конфигурация DAG – default_args

Default_args используется для установки свойств (Аргументы) которые распространены для всех задач.

# Initializing the default arguments that we'll pass to our DAG
default_args = {
    'owner': 'Srinidhi',
    'start_date': datetime(2018, 1, 1),
    'retries': 1, 
    'on_failure_callback': task_failure_alert
}

Экземпляр DAG – DAG ()

# Creating a DAG instance
my_workflow_dag = DAG(
    'first_dag',
    default_args=default_args,
    description='Sample DAG for DE Series',
    schedule_interval='0 0 * * *',
)

DAG задачи – операторы

Операторы по воздушным потокам используются при создании отдельных задач в DAG. Свойства, специфичные для задачи, будут настроены в операторе.

Некоторые из наиболее часто используемых операторов воздушных потоков

Pythonoperator – вызывает функцию Python. Альтернативный способ создания задачи функции Python – использовать API Taskflow, который доступен от AirFlow 2.0 Башоператор – Выполняет команду UNIX

#Operators
# Bash operator tasks that executes unix command - echo
task_1 = BashOperator(
    task_id='first_task',
    bash_command='echo "First Task"',
    dag=my_workflow_dag,
)

# Python Operator that prints the details of current job using context variable
 task_2 = PythonOperator(
    task_id='second_task',
    python_callable=print_fn,
    provide_context=True,
    on_success_callback = task_success_alert,
    dag=my_workflow_dag,
)

#Python Function

def print_fn(ds):
    """
    Implement your python task logic here.
    """
    #Prints job details passed through provide_context parameter
    print(ds)

Теперь, когда у нас есть наш даг готов, давайте посмотрим, где я настроил в нем функции.

✨ повторить попытку

✨ оповещения

👇 Образец слабые уведомления, полученные от воздушного потока
Просмотр кода – успех, неудача

✨ Webui

Поскольку воздушный поток изготовлен из Flask Framework, вы можете даже расширить Webui, создав дополнительные страницы, используя Флэк AppBuilder Отказ

✨ планирование

В дополнение к этому, DAGS может быть сделан для автоматического запуска в определенное время, предоставляя Обозначение Cron в SCARTE_INTERVAL

✨ API

Настройка экземпляра воздушного потока

Вот несколько отличных ресурсов: В окнах с докером На Ubuntu Local Setup На Кубернес AWS использует облачность

Если у вас нет пропускной способности, чтобы настроить и поддерживать воздушный поток в своей собственной инфраструктуре, вот коммерческие поставщики AirFlow-As-A-A-Service:

Google Cloud Composer – Управляемый сервис, построенный в Google Cloud и Airflow. Astronomer.io – В дополнение к хостингу воздушного потока в их инфраструктуре они предоставляют решения, ориентированные на услуги по воздушным потокам и поддержке.

Это воздушный поток единственный вариант для рабочих процессов?

Конечно, не Отказ Это зависит от разных факторов. Скажите, что весь ваш продукт размещен в одном провайдере облака (AWS/Azure/GCP), и вы в порядке с блокировкой поставщика. Затем,

Принимая во внимание, что если вы хотите провести свой продукт в мульти-облаке – Воздушный поток будет лучше подходит. Есть и другие рабочие процессы на рынке, похожие на AirFlow: Префект Луиджи Дагстер

Лучшие практики/советы по воздушным потокам:

  1. Как только у вас установлен воздушный поток, измените конфигурации вашего экземпляра воздушного потока в файле Master Config – airflow.cfg.
  2. Избегайте создания сложной логики обработки данных в воздушном потоке, так как воздушный поток не предназначен для работы в качестве механизма обработки данных. Основное внимание уделяется оркетеру задания потока данных. (Для обработки данных запустите сценарий обработки в пакетной вычислительной системе или Spark Framework и вызовите из воздушного потока)
  3. Использовать Макросы и шаблоны Чтобы избежать жестких значений кодирования.
  4. Во время миграции метаданных воздушных потоков DB в новую базу данных, используйте “Airflow Upgradedb” (для обновления воздушного потока 2,0 дБ) вместо «initddb initdb» (для init init init init inite)
  5. Когда вы хотите реализовать задачу из коробки, создайте Пользовательские операторы используя Безопасность Класс для повторного использования их.
  6. Использовать Плагины воздушного потока , подключиться к сторонним инструментам/источникам данных.
  7. Используйте базу данных Postgres в качестве метаданных по воздушным потокам DB для использования локальных и цеменчиков.

Если у вас есть какие-либо вопросы или все больше советы, которые, по вашему мнению, могут быть полезны, комментарий ниже на пост.

Сдвиньте вперед, я буду публиковать подробные посты на инструменты и каркасы, используемые день инженеров данных и выходным.

Следуйте за обновлениями.

Оригинал: “https://dev.to/srinidhi/data-engineering-series-3-apache-airflow-the-modern-workflow-management-tool-what-do-you-need-to-know-78l”