Recomendaciones de actualización

En esta página se describen las recomendaciones para actualizar a nuevas versiones desde Cortex Framework Data Foundation personalizado. En cada lanzamiento, el equipo de Cortex se compromete a minimizar las interrupciones mientras añade nuevas funciones a Cortex Framework. Las nuevas actualizaciones priorizan la compatibilidad con versiones anteriores. Sin embargo, esta guía te ayudará a minimizar los posibles problemas.

Infraestructura de datos de Cortex Framework proporciona un conjunto de contenido y plantillas predefinidos para acelerar el valor de los datos replicados en BigQuery. Las organizaciones adaptan estas plantillas, módulos, SQL, secuencias de comandos de Python, pipelines y otro contenido proporcionado para satisfacer sus necesidades.

Componentes principales

El contenido de la base de datos de Cortex Framework se ha diseñado con el principio de apertura en mente. Las organizaciones pueden usar las herramientas que mejor les vengan cuando trabajen con los modelos de datos de BigQuery proporcionados. La única plataforma de la que depende en gran medida la base es BigQuery. Todas las demás herramientas se pueden intercambiar según sea necesario:

  • Integración de datos: se puede usar cualquier herramienta de integración que tenga interconectividad con BigQuery, siempre que pueda replicar tablas y estructuras sin procesar. Por ejemplo, las tablas sin procesar deben tener el mismo esquema que cuando se crearon en SAP (los mismos nombres, campos y tipos de datos). Además, la herramienta de integración debe poder proporcionar servicios de transformación básicos, como actualizar los tipos de datos de destino para que sean compatibles con BigQuery, así como añadir campos adicionales, como la marca de tiempo o la marca de operaciones, para destacar los registros nuevos y modificados.
  • Procesamiento de datos: las secuencias de comandos de procesamiento de captura de datos de cambios (CDC) que funcionan con Cloud Composer (o Apache Airflow) son opcionales. Por el contrario, las instrucciones SQL se generan por separado de los archivos específicos de Airflow siempre que sea posible, de modo que los clientes puedan usar los archivos SQL independientes en otra herramienta según sea necesario.
  • Visualización de datos: aunque se proporcionan plantillas de panel de control de Looker que contienen visualizaciones y una lógica mínima, la lógica principal sigue estando disponible en la base de datos de BigQuery para que los usuarios puedan crear visualizaciones con la herramienta de informes que prefieran.

Principales ventajas

Cortex Framework Data Foundation se ha diseñado para adaptarse a diversas necesidades empresariales. Sus componentes se han diseñado para ofrecer flexibilidad, lo que permite a las organizaciones adaptar la plataforma a sus requisitos específicos y obtener las siguientes ventajas:

  • Apertura: se integra perfectamente con varias herramientas de integración, procesamiento y visualización de datos que no son de BigQuery.
  • Personalización: las organizaciones pueden modificar y ampliar los componentes prediseñados, como las vistas de SQL, para que se ajusten a sus modelos de datos y a su lógica empresarial.
  • Optimización del rendimiento: las técnicas como la partición, las comprobaciones de calidad de los datos y la creación de clústeres se pueden ajustar en función de las cargas de trabajo y los volúmenes de datos individuales.
  • Retrocompatibilidad: Cortex se esfuerza por mantener la retrocompatibilidad en futuras versiones para minimizar las interrupciones en las implementaciones actuales. Para obtener información sobre los cambios en las versiones, consulta las notas de la versión.
  • Contribución de la comunidad: fomenta el intercambio de conocimientos y la colaboración entre los usuarios.

Proceso de actualización

En las siguientes secciones se ofrecen instrucciones sobre una de las formas en las que los desarrolladores pueden mantener su código actualizado con el repositorio Data Foundation de Cortex Framework y, al mismo tiempo, conservar sus personalizaciones. Uso de las secuencias de comandos de implementación predefinidas en flujos de procesamiento de CI/CD. Sin embargo, las organizaciones pueden emplear herramientas y metodologías alternativas que se adapten a sus preferencias, como Dataform o herramientas de automatización proporcionadas por los diferentes hosts de Git, como las acciones de GitHub.

Configurar un repositorio

En esta sección se describe un método para configurar tu repositorio. Antes de seguir estos pasos, es recomendable que tengas un buen conocimiento de Git.

  1. Bifurca el repositorio principal: crea una bifurcación del repositorio Cortex Framework Data Foundation. La bifurcación permite que el repositorio siga recibiendo actualizaciones del repositorio Google Cloud y que haya un repositorio independiente para la empresa principal.

  2. Crear repositorio de empresa: establece un nuevo host de Git para el repositorio de tu empresa (por ejemplo, Cloud Source). Crea un repositorio con el mismo nombre que el repositorio bifurcado en el nuevo host.

  3. Inicializa el repositorio de la empresa: copia el código del repositorio bifurcado en el repositorio de la empresa que acabas de crear. Añade el repositorio bifurcado original como repositorio remoto upstream con el siguiente comando y comprueba que se ha añadido el remoto. De esta forma, se establece una conexión entre el repositorio de tu empresa y el repositorio original.

    git remote add google <<remote URL>>
    git remote -v
    git push --all google
    
  4. Verificar la configuración del repositorio: asegúrate de que el repositorio de tu empresa contenga el código clonado y el historial. Deberías ver los dos repositorios remotos: el de origen y el que has añadido después de usar el comando:

    git remote -v:
    

    Ahora tienes el repositorio, el repositorio de la empresa, donde los desarrolladores pueden enviar sus cambios. Ahora los desarrolladores pueden clonar y trabajar en ramas del nuevo repositorio.

Combinar los cambios con una nueva versión de Cortex

En esta sección se describe el proceso de combinación de los cambios del repositorio de la empresa con los cambios del repositorio Google Cloud .

  1. Actualizar forks: haz clic en Sincronizar fork para actualizar los forks de tu repositorio con los cambios del repositorio Google Cloud . Por ejemplo, se realizan los siguientes cambios en el repositorio de la empresa. Además, Google Cloud ha hecho otros cambios en el repositorio Data Foundation en una nueva versión.

    • Se ha creado e incorporado el uso de una nueva vista en SQL.
    • Vistas modificadas
    • Se ha sustituido una secuencia de comandos por completo con nuestra propia lógica.

    La siguiente secuencia de comandos añade el repositorio de la bifurcación como un repositorio remoto upstream para extraer la versión actualizada de GitHub y extrae su rama principal como GitHub-main. A continuación, en este ejemplo se extrae la rama principal del repositorio de la empresa en Google Cloud Source y se crea una rama para la combinación llamada merging_br.

    git remote add github <<github fork>>
    git fetch github main
    git checkout -b github-main github/main
    git checkout  main
    git checkout -b merging_br
    

    Hay varias formas de crear este flujo. El proceso de combinación también podría llevarse a cabo en la bifurcación de GitHub, sustituirse por un rebase en lugar de una combinación, y la rama de combinación también podría enviarse como una solicitud de combinación. Estas variaciones del proceso dependen de las políticas de la organización, la profundidad de los cambios y la comodidad.

    Con esta configuración, puedes comparar los cambios entrantes con los cambios locales. Te recomendamos que uses una herramienta en un IDE gráfico de tu elección para ver los cambios y elegir qué se va a combinar. Por ejemplo, Visual Studio.

    Se recomienda marcar las personalizaciones con comentarios que destaquen visualmente para facilitar el proceso de comparación.

  2. Inicia el proceso de combinación: usa la rama creada (en este ejemplo, la rama merging_br) para combinar todos los cambios y descartar los archivos. Cuando lo tengas todo listo, puedes volver a combinar esta rama con la principal u otra rama del repositorio de tu empresa para crear una solicitud de combinación. Desde la rama de combinación que se ha extraído del repositorio principal (git checkout merging_br) de tu empresa, combina los cambios entrantes de la bifurcación remota.

        ## git branch -a
        ## The command shows github-main which was created from the GitHub fork
        ## You are in merging_br
    
        git merge github-main
    
        ## If you don't want a list of the commits coming from GitHub in your history, use `--squash`
    

    Este comando genera una lista de conflictos. Usa la comparación gráfica del IDE para entender los cambios y elegir entre actual, entrante y ambos. En este caso, es útil tener un comentario en el código sobre las personalizaciones. Puedes descartar todos los cambios, eliminar los archivos que no quieras combinar e ignorar los cambios en las vistas o las secuencias de comandos que ya hayas personalizado.

  3. Combinar cambios: después de decidir qué cambios quieres aplicar, consulta el resumen y confirma los cambios con el siguiente comando:

        git status
        ## If something doesn't look right, you can use git rm or git restore accordingly
        git add --all #Or . or individual files
        git commit -m "Your commit message"
    

    Si no tienes claro algún paso, consulta Deshacer acciones básicas en Git.

  4. Prueba e implementa: hasta ahora, solo has combinado en una rama "temporal". En este punto, se recomienda ejecutar una implementación de prueba desde las cloudbuild\*.yamlsecuencias de comandos para asegurarse de que todo se ejecuta según lo previsto. Las pruebas automatizadas pueden ayudar a agilizar este proceso. Cuando estés conforme con la rama combinada, puedes extraer la rama de destino principal y combinar la rama merging_br en ella.