- Bibliothèque de solutions AWS›
- Conseils pour l’ETL basé sur SQL avec Apache Spark sur Amazon EKS
Conseils pour l’ETL basé sur SQL avec Apache Spark sur Amazon EKS
Accédez à des flux de données efficaces et à des informations plus rapides grâce à une solution d'extraction, de transformation et de chargement (ETL) évolutive de niveau entreprise
Présentation
Ce guide permet de combler l’écart entre les exigences en matière de consommation de données et les activités de traitement des données de bas niveau effectuées par les pratiques ETL courantes. Pour les organisations utilisant des systèmes de gestion de données basés sur SQL, l’adaptation aux pratiques modernes d’ingénierie des données peut ralentir la progression de l’exploitation des informations puissantes issues de leurs données. Ce guide fournit une conception soucieuse de la qualité pour augmenter la productivité des processus de données grâce au framework de données open source Arc pour une approche ETL centrée sur l’utilisateur. Le guide accélère l’interaction avec les pratiques ETL, favorise la simplicité et augmente le niveau d’abstraction pour unifier les activités ETL en batch et en streaming.
Nous proposons également des options pour une conception optimale à l’aide d’instances de calcul efficaces (telles que les processeurs AWS Graviton) qui vous permettent d’optimiser les performances et les coûts liés à l’exécution de tâches ETL à grande échelle sur Amazon EKS.
Fonctionnement
Ce schéma d'architecture accélère le traitement des données avec Apache Spark sur Amazon EKS.
Piliers Well-Architected
Le diagramme d'architecture ci-dessus est un exemple de solution créée en tenant compte des bonnes pratiques Well-Architected. Pour être totalement conforme à Well-Architected, vous devez suivre autant de bonnes pratiques Well-Architected que possible.
Au sein des clusters Amazon EKS, les instances Amazon Elastic Compute Cloud (Amazon EC2) (CPU X86_64, Graviton ARM64) agissent comme des nœuds de calcul et exécutent des charges de travail Guidance. Les tâches Spark sont exécutées sur des instances Amazon EC2 Spot provisionnées de manière élastique en fonction des demandes de charge de travail. CodeBuild et CodePipeline automatisent le processus GitOps en créant des images de conteneurs à partir des mises à jour du code Git et en les transférant vers le registre privé Amazon ECR. Argo Workflows planifie les tâches ETL sur Amazon EKS, extrait automatiquement l'image Arc Docker d'Amazon ECR, télécharge les actifs ETL depuis le compartiment S3 de l'artefact et envoie les journaux des applications à CloudWatch. Ce déploiement et cette exécution automatisés des tâches Data ETL minimisent les frais opérationnels et améliorent la productivité. En outre, le pipeline CI/CD utilisant CodeBuild et CodePipeline permet de garantir une amélioration et un développement continus tout en stockant en toute sécurité l'image Arc Docker de Guidance dans Amazon ECR.
Les ressources du cluster Amazon EKS sont déployées au sein d'un Amazon VPC, fournissant une isolation réseau logique par rapport à l'Internet public. Amazon VPC prend en charge des fonctionnalités de sécurité telles que le point de terminaison du VPC (maintien du trafic au sein du réseau AWS), les groupes de sécurité, les listes de contrôle d'accès au réseau (ACL) et les rôles et politiques AWS Identity and Access Management (IAM) pour contrôler le trafic entrant et sortant et les autorisations. Le registre d'images Amazon ECR propose des fonctionnalités de sécurité au niveau du conteneur, telles que l'analyse des vulnérabilités. Amazon ECR et Amazon EKS suivent les normes du registre OCI (Open Container Initiative) et de l'API Kubernetes, en intégrant des protocoles de sécurité stricts. IAM permet de contrôler l'accès aux données des applications Amazon S3, tandis qu'AWS Key Management Service (AWS KMS) chiffre les données au repos sur Amazon S3. Les rôles IAM pour les comptes de service (IRSA) sur les clusters Amazon EKS permettent un contrôle d'accès précis pour les pods, en appliquant le contrôle d'accès basé sur les rôles et en limitant l'accès non autorisé aux données Amazon S3. Secrets Manager stocke et gère les informations d'identification en toute sécurité. CloudFront fournit des points d'entrée sécurisés codés SSL pour les outils Web Jupyter et Argo Workflows.
Amazon EKS permet des topologies hautement disponibles en déployant les plans de contrôle et de calcul Kubernetes dans plusieurs zones de disponibilité (AZ). Cela permet de garantir la disponibilité continue des applications de données, même si une zone de disponibilité subit une interruption, ce qui permet de déployer une instance EC2 multi-AZ fiable sur Amazon EKS. Pour le stockage des données, Amazon S3 offre une durabilité et une disponibilité élevées, en répliquant automatiquement les objets de données sur plusieurs zones de disponibilité au sein d'une région. En outre, Amazon ECR héberge des images Docker dans une architecture hautement disponible et évolutive, prenant en charge de manière fiable le déploiement et les incréments d'applications basées sur des conteneurs. Amazon S3, Amazon EKS et Amazon ECR sont des services entièrement gérés conçus pour des contrats de niveau de service (SLA) élevés avec des coûts opérationnels réduits. Ils permettent le déploiement d'applications critiques pour répondre aux exigences de haute disponibilité.
Les nœuds de calcul Amazon EC2 du cluster Amazon EKS peuvent évoluer de manière dynamique vers le haut et vers le bas en fonction de la charge de travail des applications. Les instances EC2 basées sur Graviton offrent des performances accrues grâce à des processeurs ARM conçus sur mesure, à un matériel optimisé et à des améliorations architecturales. Un modèle de stockage informatique découplé (avec les données d'entrée et de sortie stockées dans Amazon S3) améliore l'efficacité de la mise à l'échelle dynamique des calculs. Data Catalog rationalise la gestion des métadonnées en s'intégrant parfaitement à Athena pour simplifier la gestion des métadonnées et améliorer les performances des requêtes. Le Catalogue de données automatise l'indexation de site web et l’entretien des métadonnées techniques pour un traitement des données et des requêtes efficaces. Athena permet d'effectuer des requêtes rapides sur les données Amazon S3 sans les déplacer, améliorant ainsi l'efficacité du flux de travail analytique.
Amazon ECR est un service géré destiné à sécuriser et à prendre en charge les applications de conteneurs, moyennant des frais mensuels fixes pour le stockage et la diffusion des images de conteneurs. Les nœuds de calcul du cluster Amazon EKS peuvent évoluer vers le haut et vers le bas en fonction des charges de travail Spark, offrant ainsi des types d'instances Graviton et Spot rentables. Data Catalog fournit un référentiel de métadonnées entièrement géré et sans serveur, ce qui élimine le besoin de configurer et de maintenir une base de données de métadonnées de longue durée et réduit les frais généraux et les coûts opérationnels. CodeBuild et CodePipeline automatisent la création et le déploiement de l'image Docker de l'Arc ETL Framework dans un environnement sans serveur, éliminant ainsi le besoin de mettre en service et de gérer les serveurs de développement tout en réduisant les coûts de maintenance de l'infrastructure.
Ce guide exécute un cluster Amazon EKS avec des types de calcul efficaces basés sur des processeurs Graviton. Amazon ECR élimine la nécessité d'une gestion personnalisée du matériel ou des serveurs physiques. Le Catalogue de données et Athena sont des services sans serveur qui réduisent encore l'impact énergétique et environnemental. L'optimisation de la couche de calcul Amazon EKS pour les charges de travail Apache Spark à grande échelle minimise l'impact environnemental des charges de travail analytiques. Vous avez la possibilité de choisir des processeurs basés sur ARM en fonction de vos besoins en matière de performances et de vos priorités en matière de durabilité.
Ressources d'implémentation
Clause de non-responsabilité
Avez-vous trouvé les informations que vous recherchiez ?
Faites-nous part de vos commentaires afin que nous puissions améliorer le contenu de nos pages