Этот учебник демонстрирует создание надежного конвейера данных с использованием воздушного потока Apache, Docker и PostgreSQL для автоматизации передачи данных из файлов CSV в базу данных. Мы рассмотрим основные концепции воздушного потока, такие как DAG, задачи и операторы для эффективного управления рабочими процессами.
]Этот проект демонстрирует создание надежного конвейера данных, который считывает данные CSV и записывает их в базу данных PostgreSQL. Мы интегрируем различные компоненты воздушного потока, чтобы обеспечить эффективную обработку данных и поддерживать целостность данных.
]учебные цели:
] предпосылки:
что такое воздушный поток Apache?
]Apache Airflow (Airflow) является платформой для программного авторизации, планирования и мониторинга рабочих процессов. Определение рабочих процессов в качестве кода улучшает обслуживание, контроль версий, тестирование и сотрудничество. Его пользовательский интерфейс упрощает визуализацию трубопроводов, мониторинг прогресса и устранения неполадок.
]
терминология воздушного потока:
Pythonoperator
, dummyoperator
, и postgresoperator
. ] Настройка воздушного потока Apache с Docker и DockerFile:
использование Docker обеспечивает последовательную и воспроизводимую среду. A dockerfile
автоматизирует создание изображений. Следующие инструкции должны быть сохранены как dockerfile
(без расширения):
FROM apache/airflow:2.9.1-python3.9 USER root COPY requirements.txt /requirements.txt RUN pip3 install --upgrade pip && pip3 install --no-cache-dir -r /requirements.txt RUN pip3 install apache-airflow-providers-apache-spark apache-airflow-providers-amazon RUN apt-get update && apt-get install -y gcc python3-dev openjdk-17-jdk && apt-get clean]
this dockerfile
использует официальное изображение воздушного потока, устанавливает зависимости от redition.txt
и устанавливает необходимые поставщики воздушного потока (примеры Spark и AWS показаны; вам могут понадобиться другие).
Docker Compose Configuration:
docker-compose.yml
организует контейнеры Docker. Следующая конфигурация определяет сервисы для WebServer, Scheduler, Triggerer, CLI, Init и PostgreSQL. Обратите внимание на использование раздела x-airflow-common
для общих настроек и подключения к базе данных PostgreSQL. (Full docker-compose.yml
слишком длинен, чтобы включить здесь, но ключевые разделы показаны выше).
Настройка и выполнение проекта:
dockerfile
и docker-compose.yml
files. tedds.txt
перечисление необходимых пакетов Python (например, Pandas). docker -compose -up -d
для запуска контейнеров. http: // localhost: 8080
. write_to_psql
как идентификатор соединения). input.csv
file. dag и python function:
Airflow DAG ( sample.py
) определяет рабочий процесс:
postgresoperator
создает таблицу базы данных. pythonoperator
( generate_insert_queries
) считывает CSV и генерирует SQL insert
утверждения, сохранение их в dags/sql/insert_queries.sql
другой ]
]
код слишком длинный, чтобы включить здесь, но ключевые разделы показаны выше). ]
Этот проект демонстрирует полный конвейер данных с использованием воздушного потока, Docker и PostgreSQL. Он подчеркивает преимущества автоматизации и использования Docker для воспроизводимых сред. Использование операторов и структуры DAG является ключом к эффективному управлению рабочими процессами.
](остальные разделы, включая FAQS и GitHub Repo, опущены для краткости. Они присутствуют при исходном входе.)
]
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3