Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
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.
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.
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.
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
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 .
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.
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.
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.
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\*.yaml
secuencias 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.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-21 (UTC).
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-21 (UTC)."],[[["\u003cp\u003eThis guide provides instructions for upgrading to new versions of the Cortex Framework Data Foundation while maintaining customizations made to fit organizational needs.\u003c/p\u003e\n"],["\u003cp\u003eCortex Framework Data Foundation is designed with openness and customization in mind, allowing organizations to utilize a variety of data integration, processing, and visualization tools alongside BigQuery.\u003c/p\u003e\n"],["\u003cp\u003eThe core components of Cortex Framework Data Foundation offer flexibility, enabling organizations to interchange tools, customize SQL views, and adjust performance optimization techniques to align with their specific needs.\u003c/p\u003e\n"],["\u003cp\u003eThe upgrade process involves forking the core repository, setting up a company repository, merging changes from the new Cortex release, and strategically addressing conflicts to retain customizations, and can be done with multiple variations.\u003c/p\u003e\n"],["\u003cp\u003eThe recommended process includes thorough testing and deployment of merged changes to ensure compatibility and proper functionality within the company's customized environment, before merging it into the main branch.\u003c/p\u003e\n"]]],[],null,["# Upgrade recommendations\n=======================\n\nThis page describes recommendations to upgrade to new versions from customized\n[Cortex Framework Data Foundation](https://github.com/GoogleCloudPlatform/cortex-data-foundation).\nOn every release, the Cortex team commits to minimize disruptions while it add\nnew features to the Cortex Framework. New updates prioritize backward\ncompatibility. However, this guide helps you minimize the possible issues.\n\n[Cortex Framework Data Foundation](https://github.com/GoogleCloudPlatform/cortex-data-foundation)\nprovides a set of predefined content and templates to accelerate value from\ndata replicated into [BigQuery](https://cloud.google.com/bigquery).\nOrganizations adapt these templates, modules, SQL, Python scripts, pipelines\nand other content provided to fit their needs.\n\nCore components\n---------------\n\nCortex Framework Data Foundation content is designed with a principle of openness in mind.\nOrganizations can use the tools that work best for them when working with\nthe BigQuery data models provided. The only platform on which\nthe foundation has a tight dependency on is BigQuery. All\nother tools can be interchanged as required:\n\n- **Data Integration:** Any integration tool that has interconnectivity with BigQuery can be leveraged provided it can replicate raw tables and structures. For example, raw tables should resemble the same schema as they were created in SAP (same names, fields, and data types). In addition, the integration tool should be able to provide basic transformation services such as updating target data types for BigQuery compatibility as well as adding additional fields like timestamp or operations flag for highlighting new and changed records.\n- **Data Processing:** The Change Data Capture (CDC) processing scripts provide work with [Cloud Composer](https://cloud.google.com/composer) (or Apache Airflow) are optional. Conversely, the SQL statements are produced separately from the Airflow-specific files where possible, so that customers can make use of the separate SQL files in another tool as needed.\n- **Data Visualization:** While [Looker](https://cloud.google.com/looker) dashboarding templates are provided and contain visualizations and minimum logic, the core logic remains available in the data foundation within BigQuery by design to create visualizations with their reporting tool of choice.\n\nKey benefits\n------------\n\nCortex Framework Data Foundation is designed to be adaptable to\nvarious business needs. Its components are built with flexibility,\nallowing organizations to tailor the platform to their specific\nrequirements and getting the following benefits:\n\n- **Openness**: Integrates seamlessly with various data integration, processing, and visualization tools beyond BigQuery.\n- **Customization:** Organizations can modify and expand pre built components like SQL views to match their data models and business logic.\n- **Performance Optimization:** Techniques like partitioning, data quality checks, and clustering can be adjusted based on individual workloads and data volumes.\n- **Backward Compatibility:** Cortex strives to maintain backward compatibility in future releases, minimizing disruption to existing implementations. For information about version changes, see the [Release Notes](/cortex/docs/release-notes).\n- **Community Contribution:** Encourages knowledge sharing and collaboration among users.\n\nUpdate process\n--------------\n\nThe following sections share the instructions for one way in which developers\ncan keep their code up-to-date with the Cortex Framework Data Foundation repository while\nretaining their customizations. Use of the pre-delivered deployment scripts in\nCI/CD pipelines. However, organizations can employ alternative tools and\nmethodologies to suit their preferences, such as [Dataform](/dataform/docs),\nor automation tools provided by the different Git hosts, such as GitHub actions.\n\n### Set up your repository\n\nThis section outlines one approach to setting up your repository. Before following\nthese steps, a solid understanding of Git is recommended.\n\n1. **[Fork](https://github.com/GoogleCloudPlatform/cortex-data-foundation/fork) core repository** :\n Create a fork of the Cortex Framework Data\n Foundation repository. The fork keeps\n that repository receiving updates from the Google Cloud repository, and a\n separate repository for the *Company's main*.\n\n2. **Create Company Repository**: Establish a new Git host for your\n company's repository (for example, Cloud Source). Create a repository with the same\n names as your forked repository on the new host.\n\n3. **Initialize Company Repository** : Copy the code from your forked Repository\n into the newly created company repository. Add the original forked repository as an\n [upstream remote repository](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/configuring-a-remote-repository-for-a-fork) with the following command,\n and verify the remote has been added. This establishes a connection between\n your company repository and the original repository.\n\n git remote add google \u003c\u003cremote URL\u003e\u003e\n git remote -v\n git push --all google\n\n4. **Verify Repository Setup**: Ensure your company repository contains the\n cloned code and history. You should see the two remotes,\n origin and the one you added after using the command:\n\n git remote -v:\n\n You now have the repository, the *Company's repository*, where\n developers can submit their changes. Developers can now clone and work in\n branches in the new repository.\n\n### Merge your changes with a new Cortex release\n\nThis section describes the process of merging changes from the *Company's repository*\nand changes coming from the Google Cloud repository.\n\n1. **Update forks** : Click **Sync fork** to update your forks for your\n repository with the changes from the Google Cloud repository. For example,\n the following changes to the *Company's repository* are done. And there has\n been some other changes in the Data Foundation repository by Google Cloud in a\n new release.\n\n - Created and incorporated the use of a new view in SQL\n - Modified existing views\n - Replaced a script entirely with our own logic\n\n The following commands sequence adds the fork repository as\n an upstream remote repository to pull the updated release from as *GitHub*\n and checks out its main branch as *GitHub-main.* Then, this example checks\n out the main branch from the *Company's repository* in Google Cloud Source\n and creates a branch for merging called `merging_br`. \n\n git remote add github \u003c\u003cgithub fork\u003e\u003e\n git fetch github main\n git checkout -b github-main github/main\n git checkout main\n git checkout -b merging_br\n\n There are multiple ways to build this flow. The merging process could also\n happen in the fork in GitHub, be replaced by a rebase instead of a merge,\n and the merging branch could also be sent as a merge request. These variations\n of the process depend on current organizational policies, depth of changes\n and convenience.\n\n With this setup in place, you can compare the incoming changes to your local\n changes. It's recommended to use a tool in a graphic IDE of choice to see the\n changes and choose what gets merged. For example, Visual Studio.\n\n It's recommended flagging customizations using comments that stand out\n visually, to make the diff process easier.\n2. **Start the merge process** : Use the created branch (in this example, is\n the branch called `merging_br`) to converge all changes\n and discard files. When ready, you can merge this branch back into the main or\n another branch for your Company's repository to create a merge request. From\n that merging branch that was checked out from your Company's repository's main\n (`git checkout merging_br`), merge the incoming changes from the remote fork.\n\n ## git branch -a\n ## The command shows github-main which was created from the GitHub fork\n ## You are in merging_br\n\n git merge github-main\n\n ## If you don't want a list of the commits coming from GitHub in your history, use `--squash`\n\n This command generates a list of conflicts. Use the graphical IDE comparison\n to understand the changes and choose between *current* , *incoming* and *both*.\n This is where having a comment in the code around customizations becomes handy.\n Choose to discard changes altogether, delete files that you don't want to\n merge at all and ignore changes to views or scripts that you have already customized.\n3. **Merge changes**: After you have decided on the changes to apply, check the\n summary and commit them with the command:\n\n git status\n ## If something doesn't look right, you can use git rm or git restore accordingly\n git add --all #Or . or individual files\n git commit -m \"Your commit message\"\n\n If you feel insecure about any step, see [Git basic undoing things](https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things).\n4. **Test and deploy** : So far you are only merging into a \"temporary\" branch.\n It's recommended running a test deployment from the `cloudbuild\\*.yaml` scripts\n at this point to make sure everything is executing as expected. Automated\n testing can help streamline this process. Once this merging branch looks good,\n you can checkout your main target branch and merge the `merging_br` branch into it."]]