ETL basé sur SQL avec Apache Spark sur Amazon EKS

ETL basé sur SQL avec Apache Spark sur Amazon EKS offre une prise en charge du traitement déclaratif des données, des capacités d'extraction/transformation/chargement (ETL) sans code, ainsi que l'automatisation de l'orchestration des flux pour aider les utilisateurs professionnels (comme les analystes et les scientifiques des données) à accéder à leurs données et à créer des informations significatives sans avoir à recourir à des processus TI manuels.

Avantages

Développez, testez et déboguez des tâches ETL dans Jupyter

Utilisez JupyterHub, un environnement de développement intégré (IDE) web interactif pour simplifier votre développement d'application ETL.

Utilisation d'une approche SQL prioritaire
.

Implémentez une logique métier et des contrôles de qualité sur les données dans un développement de pipeline ETL à l'aide de Spark SQL.

Orchestration de tâches sans code
.

Utilisez les flux pour planifier des tâches et gérer les dépendances complexes entre les tâches sans avoir à coder.

Déploiement automatique d'images Docker
.

Configurez un pipeline AWS d'amélioration continue et de développement continu (CI/CD) pour stocker en sécurité l'image Docker du cadre des données dans Amazon Elastic Container Registry (Amazon ECR).

Présentation

Le diagramme ci-dessous présente l'architecture que vous pouvez créer à l'aide de l'exemple de code sur GitHub.

Architecture de ETL basé sur SQL avec Apache Spark sur Amazon EKS

ETL basé sur SQL avec Apache Spark sur Amazon EKS déploie un environnement sécurisé, tolérant aux pannes et à mise à l'échelle automatique pour prendre en charge vos charges de travail ETL contenant les composants suivants :

  1. Une couche de gestion des flux personnalisable et flexible (consultez la section Orchestration sur le groupe Amazon Elastic Kubernetes Service [Amazon EKS] dans le diagramme) comprend le plug-in Argo Workflows. Ce plug-in fournit un outil web qui vous permet d'orchestrer vos tâches ETL sans avoir besoin d'écrire du code. Il est possible en option d'utiliser d'autres outils de flux tels que Volcano et Apache Airflow.
  2. Un espace de travail pour le traitement sécurisé des données est configuré afin d'unifier les applications sur les données au sein du même cluster Amazon EKS. Cet espace de travail comprend un deuxième outil web, JupyterHub, pour le développement et les tests interactifs des tâches. Vous pouvez soit développer un notebook Jupyter en utilisant une approche déclarative afin de spécifier les tâches ETL, soit écrire de manière programmatique vos étapes ETL en utilisant PySpark. Cet espace de travail fournit également des automatisations de tâche Spark qui sont gérées par l'outil Argo Workflows.
  3. Un ensemble de fonctions de sécurité est déployé dans la solution. Amazon Elastic Container Registry (Amazon ECR) maintient et sécurise une image Docker du cadre de traitement des données. La fonction des rôles AWS Identity and Access Management (IAM) pour les comptes de service (IRSA) sur Amazon EKS fournit une autorisation par jeton aux autres services AWS en utilisant un contrôle précis des accès. Par exemple, l'intégration Amazon EKS avec Amazon Athena fonctionne sans mot de passe pour réduire les risques d'exposition des informations d'identification AWS dans une chaîne de connexion. Jupyter récupère à la volée les informations d'identification pour la connexion depuis AWS Secrets Manager dans Amazon EKS. Amazon CloudWatch surveille les applications sur Amazon EKS à l'aide de la fonction CloudWatch Container Insights activée.
  4. Les applications analytiques sur le cluster Amazon EKS envoient les résultats des données vers un lac de données Amazon Simple Storage Service (Amazon S3). Une entrée de schéma de données (métadonnées) est créée dans un catalogue de données AWS Glue via Amazon Athena.

ETL basé sur SQL avec Apache Spark sur Amazon EKS

Version 1.0.0
Date de publication : 07/2021
Auteur : AWS

Ressources supplémentaires

Ce guide vous a-t-il été utile ?
Donner mon avis 
Icône Créer
Déployez vous-même une solution AWS

Parcourez notre bibliothèque de solutions AWS pour obtenir des réponses aux problèmes architecturaux courants.

En savoir plus 
Trouver un partenaire APN
Trouvez une solution Partenaire AWS

Trouvez des partenaires AWS certifiés pour vous aider à démarrer.

Icône Explorer
Explorer les conseils

Trouvez des diagrammes d'architecture prescriptifs, des exemple de code et du contenu technique pour les cas d'utilisation courants.

En savoir plus