Maison > développement back-end > Tutoriel Python > Fondements de l'ingénierie des données : un guide pratique

Fondements de l'ingénierie des données : un guide pratique

Barbara Streisand
Libérer: 2025-01-13 22:33:44
original
384 Les gens l'ont consulté

Un guide pratique pour créer un pipeline ETL d'ingénierie de données. Ce guide fournit une approche pratique pour comprendre et mettre en œuvre les principes fondamentaux de l'ingénierie des données, couvrant le stockage, le traitement, l'automatisation et la surveillance.

Qu'est-ce que l'ingénierie des données ?

L'ingénierie des données se concentre sur l'organisation, le traitement et l'automatisation des flux de travail de données pour transformer les données brutes en informations précieuses pour l'analyse et la prise de décision. Ce guide couvre :

  1. Stockage des données : Définir où et comment les données sont stockées.
  2. Traitement des données : Techniques de nettoyage et de transformation des données brutes.
  3. Automatisation du flux de travail : Mise en œuvre d'une exécution transparente et efficace du flux de travail.
  4. Surveillance du système : Assurer la fiabilité et le bon fonctionnement de l'ensemble du pipeline de données.

Explorons chaque étape !


Configuration de votre environnement de développement

Avant de commencer, assurez-vous d'avoir les éléments suivants :

  1. Configuration de l'environnement :
    • Un système basé sur Unix (macOS) ou un sous-système Windows pour Linux (WSL).
    • Python 3.11 (ou version ultérieure) installé.
    • Base de données PostgreSQL installée et exécutée localement.
  2. Prérequis :
    • Maîtrise de base de la ligne de commande.
    • Connaissances fondamentales en programmation Python.
    • Privilèges administratifs pour l'installation et la configuration du logiciel.
  3. Aperçu architectural : Data Engineering Foundations: A Hands-On Guide

Le diagramme illustre l'interaction entre les composants du pipeline. Cette conception modulaire exploite les atouts de chaque outil : Airflow pour l'orchestration des flux de travail, Spark pour le traitement des données distribuées et PostgreSQL pour le stockage de données structurées.

  1. Installation des outils nécessaires :
    • PostgreSQL :
      <code class="language-bash">brew update
      brew install postgresql</code>
      Copier après la connexion
      Copier après la connexion
      Copier après la connexion
    • PySpark :
      <code class="language-bash">brew install apache-spark</code>
      Copier après la connexion
      Copier après la connexion
      Copier après la connexion
    • Flux d'air :
      <code class="language-bash">python -m venv airflow_env
      source airflow_env/bin/activate  # macOS/Linux
      pip install "apache-airflow[postgres]==" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.10.4/constraints-3.11.txt"
      airflow db migrate</code>
      Copier après la connexion
      Copier après la connexion
      Copier après la connexion

Data Engineering Foundations: A Hands-On Guide

Une fois l'environnement préparé, examinons chaque composant.


1. Stockage de données : bases de données et systèmes de fichiers

Le stockage des données est la base de tout pipeline d'ingénierie de données. Nous considérerons deux catégories principales :

  • Bases de données : Stockage de données efficacement organisé avec des fonctionnalités telles que la recherche, la réplication et l'indexation. Les exemples incluent :
    • Bases de données SQL : Pour les données structurées (par exemple, PostgreSQL, MySQL).
    • Bases de données NoSQL : Pour les données sans schéma (par exemple, MongoDB, Redis).
  • Systèmes de fichiers : Convient aux données non structurées, offrant moins de fonctionnalités que les bases de données.

Configuration de PostgreSQL

  1. Démarrez le service PostgreSQL :
<code class="language-bash">brew update
brew install postgresql</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

Data Engineering Foundations: A Hands-On Guide

  1. Créez une base de données, connectez-vous et créez une table :
<code class="language-bash">brew install apache-spark</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion
  1. Insérer des exemples de données :
<code class="language-bash">python -m venv airflow_env
source airflow_env/bin/activate  # macOS/Linux
pip install "apache-airflow[postgres]==" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.10.4/constraints-3.11.txt"
airflow db migrate</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

Data Engineering Foundations: A Hands-On Guide

Vos données sont désormais stockées en toute sécurité dans PostgreSQL.


2. Traitement des données : PySpark et informatique distribuée

Les frameworks de traitement des données transforment les données brutes en informations exploitables. Apache Spark, avec ses capacités informatiques distribuées, est un choix populaire.

  • Modes de traitement :
    • Traitement par lots : Traite les données par lots de taille fixe.
    • Traitement du flux : Traite les données en temps réel.
  • Outils courants : Apache Spark, Flink, Kafka, Hive.

Traitement des données avec PySpark

  1. Installer Java et PySpark :
<code class="language-bash">brew services start postgresql</code>
Copier après la connexion
  1. Charger des données à partir d'un fichier CSV :

Créez un fichier sales.csv avec les données suivantes :

<code class="language-sql">CREATE DATABASE sales_data;
\c sales_data
CREATE TABLE sales (
    id SERIAL PRIMARY KEY,
    item_name TEXT,
    amount NUMERIC,
    sale_date DATE
);</code>
Copier après la connexion

Utilisez le script Python suivant pour charger et traiter les données :

<code class="language-sql">INSERT INTO sales (item_name, amount, sale_date)
VALUES ('Laptop', 1200, '2024-01-10'),
       ('Phone', 800, '2024-01-12');</code>
Copier après la connexion

Data Engineering Foundations: A Hands-On Guide Data Engineering Foundations: A Hands-On Guide

  1. Filtrer les ventes de grande valeur :
<code class="language-bash">brew install openjdk@11 && brew install apache-spark</code>
Copier après la connexion

Data Engineering Foundations: A Hands-On Guide Spark UI - High-Value Sales

  1. Configurer le pilote Postgres DB : Téléchargez le pilote PostgreSQL JDBC si nécessaire et mettez à jour le chemin dans le script ci-dessous.

  2. Enregistrer les données traitées dans PostgreSQL :

<code class="language-bash">brew update
brew install postgresql</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

Data Engineering Foundations: A Hands-On Guide Data Engineering Foundations: A Hands-On Guide Data Engineering Foundations: A Hands-On Guide

Le traitement des données avec Spark est terminé.


3. Automatisation du flux de travail : flux d'air

L'automatisation rationalise la gestion des flux de travail grâce à la planification et à la définition des dépendances. Des outils comme Airflow, Oozie et Luigi facilitent cela.

Automatisation de l'ETL avec Airflow

  1. Initialiser le flux d'air :
<code class="language-bash">brew install apache-spark</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

Data Engineering Foundations: A Hands-On Guide Create Airflow User

  1. Créer un workflow (DAG) :
<code class="language-bash">python -m venv airflow_env
source airflow_env/bin/activate  # macOS/Linux
pip install "apache-airflow[postgres]==" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.10.4/constraints-3.11.txt"
airflow db migrate</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

Ce DAG s'exécute quotidiennement, exécute le script PySpark et comprend une étape de vérification. Des alertes par e-mail sont envoyées en cas d'échec.

  1. Surveillez le flux de travail : Placez le fichier DAG dans le répertoire dags/ d'Airflow, redémarrez les services Airflow et surveillez via l'interface utilisateur d'Airflow à http://localhost:8080.

Data Engineering Foundations: A Hands-On Guide


4. Surveillance du système

La surveillance garantit la fiabilité du pipeline. Les alertes d'Airflow ou l'intégration avec des outils comme Grafana et Prometheus sont des stratégies de surveillance efficaces. Utilisez l'interface utilisateur d'Airflow pour vérifier les statuts et les journaux des tâches.

Data Engineering Foundations: A Hands-On Guide


Conclusion

Vous avez appris à configurer le stockage des données, à traiter les données à l'aide de PySpark, à automatiser les flux de travail avec Airflow et à surveiller votre système. L’ingénierie des données est un domaine crucial et ce guide fournit une base solide pour une exploration plus approfondie. N'oubliez pas de consulter les références fournies pour des informations plus détaillées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal