«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > ИИ > Автоматизация импорта CSV в PostgreSQL с использованием воздушного потока и Docker

Автоматизация импорта CSV в PostgreSQL с использованием воздушного потока и Docker

Опубликовано в 2025-04-12
Просматривать:146

Этот учебник демонстрирует создание надежного конвейера данных с использованием воздушного потока Apache, Docker и PostgreSQL для автоматизации передачи данных из файлов CSV в базу данных. Мы рассмотрим основные концепции воздушного потока, такие как DAG, задачи и операторы для эффективного управления рабочими процессами.

]

Этот проект демонстрирует создание надежного конвейера данных, который считывает данные CSV и записывает их в базу данных PostgreSQL. Мы интегрируем различные компоненты воздушного потока, чтобы обеспечить эффективную обработку данных и поддерживать целостность данных.

]

учебные цели:

    ]
  • Cons Core Apache Concepts: DAGS, Задачи и Операторы.
  • ]
  • Настройка и настройка воздушного потока Apache с Docker для автоматизации рабочего процесса.
  • интегрируйте PostgreSQL для управления данными в трубопроводы воздушного потока.
  • ]
  • Master Reading Files CSV и автоматизация вставки данных в базу данных PostgreSQL.
  • создать и развернуть масштабируемые, эффективные конвейеры данных с использованием воздушного потока и Docker.
  • ]
]

] предпосылки:

    ]
  • Docker Desktop, VS Code, Docker Compose
  • ]
  • Основное понимание контейнеров и команд Docker
  • ]
  • Basic Linux Commands
  • базовые знания Python
  • ]
  • создание изображений Docker из Dockerfiles и использования Docker Compose
]

что такое воздушный поток Apache?

]

Apache Airflow (Airflow) является платформой для программного авторизации, планирования и мониторинга рабочих процессов. Определение рабочих процессов в качестве кода улучшает обслуживание, контроль версий, тестирование и сотрудничество. Его пользовательский интерфейс упрощает визуализацию трубопроводов, мониторинг прогресса и устранения неполадок.

]

Automating CSV to PostgreSQL Ingestion with Airflow and Docker

терминология воздушного потока:

    ]
  • Workflow: пошаговый процесс для достижения цели (например, выпечка пирога).
  • ]
  • dag (направленный ациклический график): план рабочего процесса, показывающий зависимости задачи и порядок выполнения. Это визуальное представление рабочего процесса. Automating CSV to PostgreSQL Ingestion with Airflow and Docker
  • ]
  • task: одно действие в рабочем процессе (например, ингредиенты микширования).
  • operators: строительные блоки задач, определяющие действия, такие как запуск сценариев Python или выполнение SQL. Ключевые операторы включают Pythonoperator , dummyoperator , и postgresoperator .
  • xcoms (Cross-Communications): включить задачи для передачи и обмена данными.
  • ]
  • Connections: управляйте учетными данными для подключения к внешним системам (например, базы данных).
  • ]
]

] Настройка воздушного потока 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 слишком длинен, чтобы включить здесь, но ключевые разделы показаны выше).

]

Настройка и выполнение проекта:

    ]
  1. создать каталог проекта.
  2. ]
  3. добавить dockerfile и docker-compose.yml files.
  4. ]
  5. create tedds.txt перечисление необходимых пакетов Python (например, Pandas).
  6. ]
  7. run docker -compose -up -d для запуска контейнеров.
  8. получить доступ к UI Airflow At http: // localhost: 8080 .
  9. ]
  10. создать соединение PostgreSQL в UI Airflow (используя write_to_psql как идентификатор соединения).
  11. ]
  12. создать образец input.csv file.
]

dag и python function:

Airflow DAG ( sample.py ) определяет рабочий процесс:

]
    ]
  • a postgresoperator создает таблицу базы данных.
  • ]
  • a pythonoperator ( generate_insert_queries ) считывает CSV и генерирует SQL insert утверждения, сохранение их в dags/sql/insert_queries.sql другой
  • postgresoperator
  • выполняет сгенерированный SQL. ] ]
  • (Full
sample.py

код слишком длинный, чтобы включить здесь, но ключевые разделы показаны выше). ]

Заключение:

Этот проект демонстрирует полный конвейер данных с использованием воздушного потока, Docker и PostgreSQL. Он подчеркивает преимущества автоматизации и использования Docker для воспроизводимых сред. Использование операторов и структуры DAG является ключом к эффективному управлению рабочими процессами.

]

(остальные разделы, включая FAQS и GitHub Repo, опущены для краткости. Они присутствуют при исходном входе.)

]

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3