Professional Data Engineer

Guide de l'examen de certification

Un Professional Data Engineer facilite les prises de décision en recueillant, transformant et publiant des données. Le Data Engineer doit être capable de concevoir, développer, opérationnaliser, sécuriser et surveiller des systèmes de traitement des données. Il doit attacher une attention toute particulière aux critères suivants : sécurité, conformité, évolutivité, efficacité, fiabilité, fidélité, flexibilité et portabilité. Le Data Engineer doit aussi pouvoir exploiter, déployer et entraîner en continu des modèles de machine learning préexistants.

1. Concevoir des systèmes de traitement des données

    1.1 Sélectionner les technologies de stockage appropriées. Points à prendre en compte :

    • Alignement des systèmes de stockage sur les besoins de l'entreprise
    • Modélisation des données
    • Compromis liés à la latence, au débit et aux transactions
    • Systèmes distribués
    • Conception de schémas

    1.2 Concevoir des pipelines de données. Points à prendre en compte :

    • Publication et visualisation des données (p. ex., BigQuery)
    • Données par lots et par flux (p. ex., Cloud Dataflow, Cloud Dataproc, Apache Beam, Apache Spark et écosystème Hadoop, Cloud Pub/Sub, Apache Kafka)
    • Prédictions en ligne (interactives) et par lots
    • Automatisation et orchestration des tâches (p. ex., Cloud Composer)

    1.3 Concevoir une solution de traitement des données. Points à prendre en compte :

    • Choix de l'infrastructure
    • Disponibilité du système et tolérance aux pannes
    • Utilisation de systèmes distribués
    • Planification des capacités
    • Cloud hybride et edge computing
    • Options d'architecture (p. ex., agents de service de messagerie, files d'attente de messages, middleware, architecture orientée services, fonctions sans serveur)
    • Traitement des événements "au moins une fois", "dans l'ordre", "une seule fois", etc.

    1.4 Migrer l'entreposage et le traitement des données. Points à prendre en compte :

    • Connaissance de l'état actuel de la conception et de son processus de migration
    • Migration de la solution sur site vers le cloud (service de transfert de données, Transfer Appliance, mise en réseau cloud)
    • Validation d'une migration

2. Développer et opérationnaliser des systèmes de traitement des données

    2.1 Développer et opérationnaliser les systèmes de stockage. Points à prendre en compte :

    • Utilisation optimale des services gérés (Cloud Bigtable, Cloud Spanner, Cloud SQL, BigQuery, Cloud Storage, Cloud Datastore, Cloud Memorystore)
    • Coûts et performances de stockage
    • Gestion du cycle de vie des données

    2.2 Développer et opérationnaliser des pipelines. Points à prendre en compte :

    • Nettoyage des données
    • Traitement par lots et par flux
    • Transformation
    • Acquisition et importation des données
    • Intégration de nouvelles sources de données

    2.3 Développer et opérationnaliser l'infrastructure de traitement. Points à prendre en compte :

    • Provisionnement des ressources
    • Surveillance des pipelines
    • Réglage des pipelines
    • Tests et contrôle qualité

3. Opérationnaliser des modèles de machine learning

    3.1 Utiliser les modèles de ML prédéfinis en tant que service. Points à prendre en compte :

    • API de ML (p. ex., API Vision, API Speech)
    • Personnalisation des API de ML (p. ex., AutoML Vision, AutoML Text)
    • Expériences de conversation (p. ex., Dialogflow)

    3.2 Déployer un pipeline de ML. Points à prendre en compte :

    • Ingestion des données appropriées
    • Ré-entraînement des modèles de machine learning (Cloud Machine Learning Engine, BigQuery ML, Kubeflow, Spark ML)
    • Évaluation continue

    3.3 Sélectionner l'infrastructure d'entraînement et d'inférence appropriée. Points à prendre en compte :

    • Infrastructure distribuée ou machine unique
    • Utilisation de l'edge computing
    • Accélérateurs matériels (p. ex., GPU, TPU)

    3.4 Mesurer et surveiller les modèles de machine learning et résoudre les problèmes associés. Points à prendre en compte :

    • Terminologie du machine learning (par ex., caractéristiques, étiquettes, modèles, régression, classification, recommandation, entraînement supervisé et non supervisé, métriques d'évaluation)
    • Impact des dépendances des modèles de machine learning
    • Sources d'erreurs courantes (par ex., hypothèses sur les données)

4. Garantir la qualité de la solution

    4.1 Concevoir des solutions sécurisées et conformes. Points à prendre en compte :

    • Gestion de l'authentification et des accès (p. ex., Cloud IAM)
    • Sécurité des données (gestion des clés, chiffrement)
    • Confidentialité (p. ex., API Data Loss Prevention)
    • Conformité réglementaire (p. ex., Health Insurance Portability and Accountability Act (HIPAA), Children's Online Privacy Protection Act (COPPA), FedRAMP, Règlement général sur la protection des données (RGPD))

    4.2 Garantir l'évolutivité et l'efficacité. Points à prendre en compte :

    • Conception et exécution d'ensembles de tests
    • Surveillance du pipeline (p. ex., Stackdriver)
    • Évaluation, dépannage et amélioration des représentations de données et de l'infrastructure de traitement des données
    • Redimensionnement et autoscaling des ressources

    4.3 Garantir la fiabilité et la fidélité. Points à prendre en compte :

    • Préparation des données et contrôle qualité (p. ex., Cloud Dataprep)
    • Vérification et surveillance
    • Planification, exécution et test de contrainte sur les plans de récupération des données (p. ex., tolérance aux pannes, réexécution de tâches ayant échoué, lancement d'une nouvelle analyse rétrospective)
    • Choix entre les exigences ACID, idempotentes et de cohérence à terme

    4.4 Garantir la flexibilité et la portabilité. Points à prendre en compte :

    • Alignement sur les besoins actuels et futurs de l'entreprise
    • Conception orientée sur la portabilité des données et des applications (p. ex., multicloud, exigences de résidence des données)
    • Préproduction, catalogage et découverte des données