Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Recomendações de upgrade
Esta página descreve recomendações para fazer upgrade para novas versões de uma base de dados do Cortex Framework personalizada.
Em cada lançamento, a equipe do Cortex se compromete a minimizar as interrupções enquanto adiciona
novos recursos ao Cortex Framework. As novas atualizações priorizam a compatibilidade
com versões anteriores. No entanto, este guia ajuda a minimizar os possíveis problemas.
A base de dados do Cortex Framework
oferece um conjunto de modelos e conteúdo predefinidos para acelerar o valor dos dados
replicados no BigQuery.
As organizações adaptam esses modelos, módulos, SQL, scripts Python, pipelines
e outros conteúdos fornecidos para atender às necessidades delas.
Principais componentes
O conteúdo da base de dados do Cortex Framework foi criado com o princípio da abertura em mente.
As organizações podem usar as ferramentas que funcionam melhor para elas ao trabalhar com
os modelos de dados do BigQuery fornecidos. A única plataforma em que
a fundação tem uma dependência estreita é o BigQuery. Todas
as outras ferramentas podem ser trocadas conforme necessário:
- Integração de dados:qualquer ferramenta de integração que tenha interconectividade com o BigQuery pode ser aproveitada, desde que possa replicar tabelas e estruturas brutas. Por exemplo, as tabelas brutas precisam ter o mesmo esquema que
foram criadas no SAP (mesmos nomes, campos e tipos de dados). Além disso, a ferramenta de integração precisa fornecer serviços básicos de transformação, como atualizar tipos de dados de destino para compatibilidade com o BigQuery, além de adicionar outros campos, como carimbo de data/hora ou sinalização de operações, para destacar registros novos e alterados.
- Processamento de dados:os scripts de processamento de captura de dados alterados (CDC, na sigla em inglês)
trabalham com o Cloud Composer
(ou o Apache Airflow) são opcionais. Por outro lado,
as instruções SQL são produzidas separadamente dos arquivos específicos do Airflow
sempre que possível, para que os clientes possam usar os arquivos SQL separados em
outra ferramenta, conforme necessário.
- Visualização de dados:embora os modelos de painel do Looker sejam fornecidos e contenham visualizações e lógica mínima, a lógica principal permanece disponível na base de dados do BigQuery por design para criar visualizações com a ferramenta de relatórios escolhida.
Principais vantagens
A base de dados do Cortex Framework foi projetada para ser adaptável a
várias necessidades de negócios. Os componentes são criados com flexibilidade,
permitindo que as organizações adaptem a plataforma aos requisitos
específicos e recebam os seguintes benefícios:
- Abertura: integração perfeita com várias ferramentas de integração, processamento e visualização de dados além do BigQuery.
- Personalização:as organizações podem modificar e expandir componentes pré-criados,
como visualizações SQL, para corresponder aos modelos de dados e à lógica de negócios.
- Otimização de desempenho:técnicas como particionamento, verificações de qualidade de dados e agrupamento podem ser ajustadas com base em cargas de trabalho e volumes de dados individuais.
- Compatibilidade com versões anteriores:o Cortex se esforça para manter a compatibilidade com versões anteriores
em versões futuras, minimizando a interrupção das implementações atuais. Para
informações sobre mudanças de versão, consulte as notas da versão.
- Contribuição da comunidade:incentiva o compartilhamento de conhecimento e a colaboração
entre os usuários.
Atualizar processo
As seções a seguir compartilham as instruções de uma maneira em que os desenvolvedores
podem manter o código atualizado com o repositório de dados do Cortex Framework,
mantendo as personalizações. Uso dos scripts de implantação pré-entregues em
pipelines de CI/CD. No entanto, as organizações podem usar ferramentas e
metodologias alternativas para atender às preferências, como o Dataform
ou ferramentas de automação fornecidas pelos diferentes hosts do Git, como as ações do GitHub.
Configurar seu repositório
Esta seção descreve uma abordagem para configurar seu repositório. Antes de seguir
essas etapas, é recomendável ter um bom entendimento do Git.
Repositório principal Fork:
crie um fork do repositório da
base de dados do Cortex Framework. O fork continua
fazendo com que esse repositório receba atualizações do repositório Google Cloud e um
repositório separado para o repositório principal da empresa.
Criar repositório da empresa: estabeleça um novo host do Git para o repositório da
empresa (por exemplo, o Cloud Source). Crie um repositório com os mesmos
nomes do repositório bifurcado no novo host.
Inicializar o repositório da empresa: copie o código do repositório bifurcado
para o repositório da empresa recém-criado. Adicione o repositório original bifurcado como um
repositório remoto upstream com o comando a seguir
e verifique se o controle remoto foi adicionado. Isso estabelece uma conexão entre
o repositório da sua empresa e o repositório original.
git remote add google <<remote URL>>
git remote -v
git push --all google
Verificar a configuração do repositório: verifique se o repositório da empresa contém o
código e o histórico clonados. Você vai ver os dois controles remotos,
a origem e o que você adicionou depois de usar o comando:
git remote -v:
Agora você tem o repositório, o repositório da empresa, em que
os desenvolvedores podem enviar as mudanças. Os desenvolvedores agora podem clonar e trabalhar em
ramificações no novo repositório.
Mesclar suas alterações com uma nova versão do Cortex
Esta seção descreve o processo de mesclagem de mudanças do repositório da empresa
e de mudanças do repositório Google Cloud .
Atualizar bifurcações: clique em Sincronizar bifurcação para atualizar as bifurcações do
repositório com as mudanças do repositório Google Cloud . Por exemplo,
as seguintes mudanças no repositório da empresa foram feitas. E houve
algumas outras mudanças no repositório do Data Foundation por Google Cloud em uma
nova versão.
- Criou e incorporou o uso de uma nova visualização no SQL
- Visualizações modificadas
- Substituímos um script totalmente pela nossa própria lógica
A sequência de comandos a seguir adiciona o repositório de bifurcação como
um repositório remoto upstream para extrair a versão atualizada do GitHub
e verifica a ramificação principal como GitHub-main. Em seguida, este exemplo verifica
a ramificação principal do repositório da empresa em Google Cloud Source
e cria uma ramificação para mesclagem chamada 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
Há várias maneiras de criar esse fluxo. O processo de mesclagem também pode
acontecer no fork no GitHub, ser substituído por uma rebase em vez de uma mesclagem,
e a ramificação de mesclagem também pode ser enviada como uma solicitação de mesclagem. Essas variações
do processo dependem das políticas organizacionais atuais, da profundidade das mudanças
e da conveniência.
Com essa configuração, você pode comparar as mudanças recebidas com as
locais. É recomendável usar uma ferramenta em um ambiente de desenvolvimento integrado gráfico de sua escolha para conferir as
mudanças e escolher o que será mesclado. Por exemplo, o Visual Studio.
É recomendável sinalizar personalizações usando comentários que se destacam
visualmente para facilitar o processo de comparação.
Iniciar o processo de mesclagem: use a ramificação criada (neste exemplo, é
a ramificação chamada merging_br
) para convergir todas as mudanças
e descartar arquivos. Quando estiver tudo pronto, você poderá mesclar essa ramificação de volta à principal ou
a outra ramificação do repositório da empresa para criar uma solicitação de mesclagem. Na
ramificação de mesclagem que foi extraída do repositório principal da sua empresa
(git checkout merging_br
), mescle as mudanças recebidas do fork remoto.
## 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`
Esse comando gera uma lista de conflitos. Use a comparação gráfica do ambiente de desenvolvimento integrado
para entender as mudanças e escolher entre atual, entrada e ambos.
É aí que um comentário no código sobre as personalizações é útil.
Descartar as mudanças, excluir arquivos que você não quer
mesclar e ignorar mudanças em visualizações ou scripts que você já personalizou.
Mesclar mudanças: depois de decidir quais mudanças serão aplicadas, verifique o
resumo e as confirme com o 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"
Se você não tiver certeza sobre alguma etapa, consulte Como desfazer ações básicas no Git.
Testar e implantar: até agora, você está mesclando apenas em uma ramificação "temporária".
Recomendamos executar uma implantação de teste nos scripts cloudbuild\*.yaml
neste momento para garantir que tudo esteja sendo executado conforme o esperado. Os testes
automatizados podem ajudar a simplificar esse processo. Quando essa ramificação de mesclagem estiver correta,
faça o checkout da ramificação de destino principal e mescle a ramificação merging_br
nela.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-09-04 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-04 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."]]