Migration des DAG externes de la version 4.2 vers la version 5.0
Ce guide décrit les étapes nécessaires pour déplacer les tables de sortie des graphiques acycliques dirigés (DAG) externes vers leurs nouveaux emplacements dans l'architecture Cortex Data Foundation v5.0. (par exemple, Météo et Tendances). Ce guide est spécialement conçu pour les utilisateurs qui ont implémenté des DAG externes dans les versions précédentes de Cortex Framework Data Foundation (4.2 à 5.0) et qui effectuent maintenant la mise à niveau. Si vous n'avez pas utilisé de DAG externes ni déployé SAP, ce guide ne s'applique pas.
Contexte
Les versions antérieures à 4.2 de Cortex Framework Data Foundation utilisaient un indicateur _GEN_EXT
pour gérer le déploiement de sources de données externes, certaines sources étant associées à des charges de travail spécifiques (comme la conversion de devises pour SAP). Toutefois, avec la version 5.0, cet indicateur a été supprimé. Un nouveau module est désormais dédié à la gestion des DAG pouvant servir plusieurs charges de travail. Ce guide décrit les étapes à suivre pour ajuster vos pipelines de données existants afin qu'ils fonctionnent avec cette nouvelle structure.
DAG réutilisables entre les charges de travail
La version 5.0 de Cortex Framework Data Foundation introduit K9, un nouveau composant chargé d'ingérer, de traiter et de modéliser des éléments de données réutilisables partagés entre différentes sources de données. Les vues de rapports font désormais référence à l'ensemble de données K9_PROCESSING
pour accéder à ces composants réutilisables, ce qui simplifie l'accès aux données et réduit la redondance. Les sources de données externes suivantes sont désormais déployées dans le cadre de K9, dans l'ensemble de données K9_PROCESSING
:
date_dimension
holiday_calendar
trends
weather
DAG dépendants de SAP
Les DAG dépendants de SAP suivants sont toujours déclenchés par le script generate_external_dags.sh
, mais sont désormais exécutés lors de l'étape de création des rapports et écrivent désormais dans l'ensemble de données de reporting SAP au lieu de l'étape CDC (Change Data Capture).
currency_conversion
inventory_snapshots
prod_hierarchy_texts
Guide de migration
Ce guide décrit les étapes à suivre pour mettre à niveau votre Data Foundation Cortex Framework vers la version 5.0.
Déployer Cortex Framework Data Foundation 5.0
Commencez par déployer la dernière version (v5.0) de Cortex Framework Data Foundation dans vos projets, en suivant les consignes suivantes:
- Utilisez vos ensembles de données RAW et CDC existants de déploiements de développement ou de préproduction précédents comme ensembles de données RAW et CDC de ce déploiement, car aucune modification n'est apportée pendant le déploiement.
- Définissez
testData
etSAP.deployCDC
surFalse
dansconfig/config.json
. - Créez un projet de reporting SAP distinct de votre environnement v4.2 existant à des fins de test. Cela permet d'évaluer de manière sécurisée le processus de mise à niveau sans affecter vos opérations en cours.
- Facultatif. Si des DAG Airflow actifs s'exécutent pour votre précédente version de l'infrastructure de données du framework Cortex, mettez-les en veille avant de procéder à la migration. Pour ce faire, utilisez l'interface utilisateur d'Airflow. Pour obtenir des instructions détaillées, consultez les pages Ouvrir l'interface utilisateur d'Airflow depuis Composer et Mettre en pause le DAG.
En suivant ces étapes, vous pouvez passer en toute sécurité à la version 5.0 de Cortex Framework Data Foundation et valider les nouvelles fonctionnalités.
Migrer des tables existantes
Pour migrer vos tables existantes vers leur nouvel emplacement, utilisez jinja-cli
pour mettre en forme le modèle de script de migration fourni afin de terminer la migration.
Installez jinja-cli avec la commande suivante:
pip install jinja-cli
Identifiez les paramètres suivants à partir de votre déploiement existant de la version 4.2 et de la nouvelle version 5.0:
Nom Description project_id_src
Source Google Cloud Project: projet dans lequel se trouve votre ensemble de données CDC SAP existant à partir du déploiement de la version 4.2. L'ensemble de données K9_PROCESSING
est également créé dans ce projet.project_id_tgt
Google Cloud cible où se trouve votre nouvel ensemble de données de reporting SAP déployé à partir de la nouvelle version 5.0. Il peut être différent du projet source. dataset_cdc_processed
Ensemble de données BigQuery du CDC : ensemble de données BigQuery dans lequel les données traitées par le CDC enregistrent les derniers enregistrements disponibles. Il peut être identique à l'ensemble de données source. dataset_reporting_tgt
Ensemble de données de reporting BigQuery cible: ensemble de données BigQuery dans lequel les modèles de données prédéfinis de Data Foundation pour SAP sont déployés. k9_datasets_processing
Ensemble de données BigQuery K9 : ensemble de données BigQuery dans lequel K9 (sources de données enrichies) est déployé. Créez un fichier JSON avec les données d'entrée requises. Assurez-vous de supprimer de la section
migrate_list
tous les DAG que vous ne souhaitez pas migrer:{ "project_id_src": "your-source-project", "project_id_tgt": "your-target-project", "dataset_cdc_processed": "your-cdc-processed-dataset", "dataset_reporting_tgt": "your-reporting-target-dataset-OR-SAP_REPORTING", "k9_datasets_processing": "your-k9-processing-dataset-OR-K9_REPORTING", "migrate_list": [ "holiday_calendar", "trends", "weather", "currency_conversion", "inventory_snapshots", "prod_hierarchy_texts" ] } EOF
Par exemple, si vous souhaitez supprimer
weather
ettrends
, le script se présente comme suit:{ "project_id_src": "kittycorn-demo", "project_id_tgt": "kittycorn-demo", "dataset_cdc_processed": "CDC_PROCESSED", "dataset_reporting_tgt": "SAP_REPORTING", "k9_datasets_processing": "K9_PROCESSING", "migrate_list": [ "holiday_calendar", "currency_conversion", "inventory_snapshots", "prod_hierarchy_texts" ] }
Créez un dossier de sortie à l'aide de la commande suivante:
mkdir output
Générez le script de migration analysé à l'aide de la commande suivante (cette commande suppose que vous vous trouvez à la racine du dépôt):
jinja -d data.json -o output/migrate_external_dags.sql docs/external_dag_migration/scripts/migrate_external_dags.sql
Examinez le fichier SQL de sortie et exécutez-le dans BigQuery pour migrer vos tables vers le nouvel emplacement.
Mettre à jour et réactiver les DAG Airflow
Sauvegardez les fichiers DAG actuels dans votre bucket Airflow. Remplacez-les ensuite par les fichiers nouvellement générés à partir de votre déploiement de la version 5.0 de Cortex Framework Data Foundation. Pour obtenir des instructions détaillées, consultez la documentation suivante:
Validation et nettoyage
La migration est maintenant terminée. Vous pouvez désormais vérifier que toutes les vues de rapports du nouveau déploiement de rapports v5.0 fonctionnent correctement. Si tout fonctionne correctement, répétez le processus, cette fois en ciblant le déploiement de la version 5.0 dans votre ensemble de rapports de production. Ensuite, n'hésitez pas à supprimer toutes les tables à l'aide du script suivant:
jinja -d data.json -o output/delete_old_dag_tables.sql docs/external_dag_migration/scripts/delete_old_dag_tables.sql