Migración de DAG externos de v4.2 a v5.0
En esta guía, se describen los pasos necesarios para reubicar las tablas de resultados de los gráficos acíclicos dirigidos (DAG) externos a sus nuevas ubicaciones dentro de la arquitectura de Cortex Data Foundation v5.0. Por ejemplo, Weather y Trends. Esta guía está diseñada específicamente para los usuarios que implementaron DAG externos en versiones anteriores de Cortex Framework Data Foundation (4.2 a 5.0) y que ahora están realizando una actualización. Si no usaste DAG externos o no implementaste SAP, esta guía no es aplicable.
Contexto
Las versiones de Cortex Framework Data Foundation anteriores a la 4.2 usaban una marca _GEN_EXT para administrar la implementación de fuentes de datos externas, con algunas fuentes vinculadas a cargas de trabajo específicas (como la conversión de moneda para SAP). Sin embargo, con la versión 5.0, se quitó esta marca. Ahora, hay un módulo nuevo dedicado a administrar DAG que pueden atender varias cargas de trabajo. En esta guía, se describen los pasos para ajustar tus canalizaciones de datos existentes para que funcionen con esta nueva estructura.
DAG reutilizables en varias cargas de trabajo
Cortex Framework Data Foundation v5.0 presenta K9, un componente nuevo responsable de ingerir, procesar y modelar elementos de datos reutilizables que se comparten en varias fuentes de datos. Las vistas de informes ahora hacen referencia al conjunto de datos K9_PROCESSING para acceder a estos componentes reutilizables, lo que optimiza el acceso a los datos y reduce la redundancia. Las siguientes fuentes de datos externas ahora se implementan como parte de K9 en el conjunto de datos K9_PROCESSING:
date_dimensionholiday_calendartrendsweather
DAG dependientes de SAP
Los siguientes DAG dependientes de SAP aún se activan con la secuencia de comandos generate_external_dags.sh, pero ahora se ejecutan durante el paso de compilación de informes y escriben en el conjunto de datos de informes de SAP en lugar de la etapa de CDC (captura de datos modificados).
currency_conversioninventory_snapshotsprod_hierarchy_texts
Guía de migración
En esta guía, se describen los pasos para actualizar Cortex Framework Data Foundation a la versión 5.0.
Implementa Cortex Framework Data Foundation 5.0
Primero, implementa la versión más reciente (v5.0) de Cortex Framework Data Foundation en tus proyectos con los siguientes lineamientos:
- Usa tus conjuntos de datos RAW y CDC existentes de implementaciones anteriores de desarrollo o etapa de pruebas como tus conjuntos de datos RAW y CDC de esta implementación, ya que no se les realiza ninguna modificación durante la implementación.
- Configura
testDataySAP.deployCDCcomoFalseenconfig/config.json. - Crea un nuevo proyecto de informes de SAP independiente de tu entorno v4.2 existente para realizar pruebas. Esto evalúa de forma segura el proceso de actualización sin afectar tus operaciones actuales.
- Es opcional. Si tienes DAG de Airflow activos que se ejecutan para tu versión anterior de Cortex Framework Data Foundation, pausa antes de continuar con la migración. Esto se puede hacer a través de la IU de Airflow. Para obtener instrucciones detalladas, consulta Cómo abrir la IU de Airflow desde Composer y Cómo pausar el DAG documentación.
Si sigues estos pasos, puedes realizar una transición segura a Cortex Framework Data Foundation versión 5.0 y validar las nuevas funciones y funcionalidades.
Migra las tablas existentes
Para migrar tus tablas existentes a su nueva ubicación, usa jinja-cli para dar formato a la plantilla de secuencia de comandos de migración proporcionada para completar la migración.
Instala jinja-cli con el siguiente comando:
pip install jinja-cliIdentifica los siguientes parámetros de tu implementación existente de la versión 4.2 y de la nueva versión 5.0:
<td"> Nombre <td"> Descripción </td"></td"><td">project_id_src<td"> Source Google Cloud Project: Es el proyecto en el que se encuentra tu conjunto de datos de CDC de SAP existente de la implementación de la versión 4.2. El conjunto de datosK9_PROCESSINGtambién se crea en este proyecto. </td"></td"><td">project_id_tgt<td"> Target Google Cloud Es el proyecto en el que se encuentra tu conjunto de datos de informes de SAP recién implementado de la nueva implementación de la versión 5.0. Es posible que sea diferente del proyecto de origen. </td"></td"><td">dataset_cdc_processed<td"> CDC BigQuery Dataset: Es el conjunto de datos de BigQuery en el que se encuentran los datos procesados de CDC y los registros disponibles más recientes. Es posible que sea el mismo que el conjunto de datos de origen. </td"></td"><td">dataset_reporting_tgt<td"> Conjunto de datos de informes de BigQuery de destino: conjunto de datos de BigQuery en el que se implementan los modelos de datos predefinidos de Data Foundation para SAP. </td"></td"><td">k9_datasets_processing<td"> K9 BigQuery dataset: Es el conjunto de datos de BigQuery en el que se implementa K9 (fuentes de datos aumentadas). </td"></td">Crea un archivo JSON con los datos de entrada requeridos. Asegúrate de quitar los DAG que no quieras migrar de la sección
migrate_list:{ "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" ] } EOFPor ejemplo, si quieres quitar
weatherytrends, la secuencia de comandos se vería de la siguiente manera:{ "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" ] }Crea una carpeta de salida con el siguiente comando:
mkdir outputGenera la secuencia de comandos de migración analizada con el siguiente comando (se supone que estás en la raíz del repositorio):
jinja -d data.json -o output/migrate_external_dags.sql docs/external_dag_migration/scripts/migrate_external_dags.sqlExamina el archivo SQL de salida y ejecútalo en BigQuery para migrar tus tablas a la nueva ubicación.
Actualiza y reanuda los DAG de Airflow
Crea una copia de seguridad de los archivos DAG actuales en tu bucket de Airflow. Luego, reemplázalos por los archivos recién generados de tu implementación de Cortex Framework Data Foundation versión 5.0. Para obtener instrucciones detalladas, consulta la siguiente documentación:
Validación y limpieza
La migración ya está completa. Ahora puedes validar que todas las vistas de informes en la nueva implementación de informes de la versión 5.0 funcionen correctamente. Si todo funciona correctamente, vuelve a realizar el proceso, esta vez con la implementación de la versión 5.0 en tu conjunto de informes de producción. Luego, puedes quitar todas las tablas con la siguiente secuencia de comandos:
jinja -d data.json -o output/delete_old_dag_tables.sql docs/external_dag_migration/scripts/delete_old_dag_tables.sql