Recomendaciones para la actualización
En esta página, se describen las recomendaciones para actualizar a versiones nuevas desde la base de datos de Cortex Framework personalizada. En cada lanzamiento, el equipo de Cortex se compromete a minimizar las interrupciones mientras agrega funciones nuevas a Cortex Framework. Las nuevas actualizaciones priorizan la compatibilidad con versiones anteriores. Sin embargo, esta guía te ayuda a minimizar los posibles problemas.
La base 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, canalizaciones y otro contenido proporcionado para satisfacer sus necesidades.
Componentes centrales
El contenido de la base de datos de Cortex Framework se diseñó teniendo en cuenta un principio de apertura. Las organizaciones pueden usar las herramientas que les resulten más convenientes cuando trabajen con los modelos de datos de BigQuery proporcionados. La única plataforma en la que la fundación tiene una dependencia estrecha es BigQuery. Todas las demás herramientas se pueden intercambiar según sea necesario:
- Integración de datos: Se puede aprovechar 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 se creó en SAP (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 la compatibilidad con BigQuery, así como agregar 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 modificados (CDC) que funcionan con Cloud Composer (o Apache Airflow) son opcionales. Por el contrario, las instrucciones SQL se producen 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: Si bien se proporcionan plantillas de paneles de Looker que contienen visualizaciones y lógica mínima, la lógica principal permanece disponible en la base de datos de BigQuery de forma predeterminada para crear visualizaciones con la herramienta de informes que elijas.
Ventajas clave
La base de datos de Cortex Framework está diseñada para adaptarse a varias necesidades empresariales. Sus componentes se compilan con flexibilidad, lo que permite a las organizaciones adaptar la plataforma a sus requisitos específicos y obtener los siguientes beneficios:
- Acceso abierto: Se integra sin problemas a varias herramientas de integración, procesamiento y visualización de datos más allá de BigQuery.
- Personalización: Las organizaciones pueden modificar y expandir componentes precompilados, como las vistas de SQL, para que coincidan con sus modelos de datos y su lógica empresarial.
- Optimización del rendimiento: Las técnicas como la partición, las verificaciones de calidad de los datos y el agrupamiento en 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 versiones futuras, lo que minimiza las interrupciones en las implementaciones existentes. Para obtener información sobre los cambios de versión, 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 comparten las instrucciones para una forma en que los desarrolladores pueden mantener su código actualizado con el repositorio de Data Foundation de Cortex Framework y, al mismo tiempo, conservar sus personalizaciones. Uso de las secuencias de comandos de implementación entregadas previamente en las canalizaciones 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 que proporcionan los diferentes hosts de Git, como las acciones de GitHub.
Configurar tu repositorio
En esta sección, se describe un enfoque para configurar tu repositorio. Antes de seguir estos pasos, se recomienda tener un conocimiento sólido de Git.
Forquea el repositorio principal: Crea una bifurcación del repositorio de Data Foundation de Cortex Framework. La bifurcación mantiene ese repositorio recibiendo actualizaciones del repositorio de Google Cloud y un repositorio independiente para el principal de la empresa.
Create Company Repository: Establece un host de Git nuevo para el repositorio de tu empresa (por ejemplo, Cloud Source). Crea un repositorio con los mismos nombres que el repositorio bifurcado en el host nuevo.
Inicializa el repositorio de la empresa: Copia el código de tu repositorio bifurcado en el repositorio de la empresa que acabas de crear. Agrega el repositorio bifurcado original como un repositorio remoto upstream con el siguiente comando y verifica que se haya agregado el remoto. De esta manera, 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
Verifica la configuración del repositorio: Asegúrate de que el repositorio de tu empresa contenga el código y el historial clonados. Deberías ver los dos controles remotos, el original y el que agregaste después de usar el comando:
git remote -v:
Ahora tienes el repositorio, el repositorio de la empresa, en el que los desarrolladores pueden enviar sus cambios. Ahora los desarrolladores pueden clonar y trabajar en ramas del nuevo repositorio.
Combina tus cambios con una nueva versión de Cortex
En esta sección, se describe el proceso de combinación de cambios del repositorio de la empresa y los cambios que provienen del repositorio de Google Cloud .
Actualizar bifurcaciones: Haz clic en Sync fork para actualizar las bifurcaciones 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, se realizaron algunos otros cambios en el repositorio de Data Foundation por parte de Google Cloud en una nueva versión.
- Creaste y usaste una vista nueva en SQL
- Se modificaron las vistas existentes
- Se reemplazó una secuencia de comandos por completo con nuestra propia lógica.
La siguiente secuencia de comandos agrega el repositorio de bifurcación como un repositorio remoto upstream para extraer la versión actualizada de GitHub y consultar su rama principal como GitHub-main. Luego, este ejemplo revisa la rama principal del repositorio de la empresa en Google Cloud Source y 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 compilar este flujo. El proceso de combinación también podría ocurrir en la bifurcación de GitHub, reemplazarse por una 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 organizacionales actuales, la profundidad de los cambios y la conveniencia.
Con esta configuración, puedes comparar los cambios entrantes con los cambios locales. Se recomienda usar una herramienta en el IDE gráfico que elijas para ver los cambios y elegir qué se combinará. Por ejemplo, Visual Studio.
Se recomienda marcar las personalizaciones con comentarios que se destaquen visualmente para facilitar el proceso de comparación.
Inicia el proceso de combinación: Usa la rama creada (en este ejemplo, es la rama llamada
merging_br
) para converger todos los cambios y descartar los archivos. Cuando esté todo listo, puedes combinar esta rama con la principal o con otra rama del repositorio de tu empresa para crear una solicitud de combinación. Desde esa rama de combinación que se obtuvo del repositorio principal de tu empresa (git checkout merging_br
), 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 comprender los cambios y elegir entre actual, entrante y ambos. Aquí es donde resulta útil tener un comentario en el código sobre las personalizaciones. Elige descartar los cambios por completo, borrar los archivos que no deseas combinar y, además, ignorar los cambios en las vistas o secuencias de comandos que ya personalizaste.
Combina los cambios: Una vez que hayas decidido los cambios que deseas aplicar, revisa el resumen y confírmalos con el 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 te sientes seguro con algún paso, consulta Cómo deshacer acciones básicas en Git.
Prueba e implementa: Hasta ahora, solo estás realizando la combinación en una rama "temporal". En este punto, se recomienda ejecutar una implementación de prueba desde las secuencias de comandos
cloudbuild\*.yaml
para asegurarse de que todo se ejecute según lo esperado. Las pruebas automáticas pueden ayudar a optimizar este proceso. Una vez que esta rama de combinación se vea bien, puedes confirmar tu rama de destino principal y fusionar la ramamerging_br
en ella.