Suggerimenti per l'upgrade
Questa pagina descrive i suggerimenti per l'upgrade alle nuove versioni da Cortex Framework Data Foundation personalizzato . A ogni release, il team di Cortex si impegna a ridurre al minimo le interruzioni durante l'aggiunta di nuove funzionalità a Cortex Framework. I nuovi aggiornamenti danno la priorità alla compatibilità con le versioni precedenti. Tuttavia, questa guida ti aiuta a ridurre al minimo i possibili problemi.
Cortex Framework Data Foundation fornisce un insieme di contenuti e modelli predefiniti per accelerare il valore dei dati replicati in BigQuery. Le organizzazioni adattano questi modelli, moduli, script SQL, Python, pipeline e altri contenuti forniti per soddisfare le loro esigenze.
Componenti principali
I contenuti di Cortex Framework Data Foundation sono progettati con un principio di apertura. Le organizzazioni possono utilizzare gli strumenti più adatti a loro quando lavorano con i modelli di dati BigQuery forniti. L'unica piattaforma su cui la base ha una stretta dipendenza è BigQuery. Tutti gli altri strumenti possono essere scambiati in base alle esigenze:
- Integrazione dei dati:è possibile utilizzare qualsiasi strumento di integrazione con interconnettività con BigQuery, a condizione che possa replicare tabelle e strutture non elaborate. Ad esempio, le tabelle non elaborate devono avere lo stesso schema di quello creato in SAP (stessi nomi, campi e tipi di dati). Inoltre, lo strumento di integrazione deve essere in grado di fornire servizi di trasformazione di base, come l'aggiornamento dei tipi di dati di destinazione per la compatibilità con BigQuery, nonché l'aggiunta di campi aggiuntivi come il timestamp o il flag delle operazioni per evidenziare i record nuovi e modificati.
- Elaborazione dei dati: gli script di elaborazione di Change Data Capture (CDC) forniscono il funzionamento con Managed Service for Apache Airflow (o Apache Airflow) sono facoltativi. Al contrario, le istruzioni SQL vengono prodotte separatamente dai file specifici di Airflow, ove possibile, in modo che i clienti possano utilizzare i file SQL separati in un altro strumento, se necessario.
- Visualizzazione dei dati:sebbene vengano forniti modelli di dashboard di Looker che contengono visualizzazioni e logica minima, la logica principale rimane disponibile nella base dati all'interno di BigQuery per progettare la creazione di visualizzazioni con lo strumento di reporting preferito.
Vantaggi principali
Cortex Framework Data Foundation è progettato per essere adattabile a varie esigenze aziendali. I suoi componenti sono progettati con flessibilità, consentendo alle organizzazioni di personalizzare la piattaforma in base ai propri requisiti specifici e di ottenere i seguenti vantaggi:
- Apertura: si integra perfettamente con vari strumenti di integrazione, elaborazione e visualizzazione dei dati oltre a BigQuery.
- Personalizzazione:le organizzazioni possono modificare ed espandere i componenti predefiniti, come le visualizzazioni SQL, in modo che corrispondano ai propri modelli di dati e alla logica di business.
- Ottimizzazione delle prestazioni:le tecniche come il partizionamento, i controlli di qualità dei dati e il clustering possono essere adattate in base ai singoli carichi di lavoro e ai volumi di dati.
- Compatibilità con le versioni precedenti:Cortex si impegna a mantenere la compatibilità con le versioni precedenti nelle release future, riducendo al minimo le interruzioni delle implementazioni esistenti. Per informazioni sulle modifiche delle versioni, consulta le note di rilascio.
- Contributo della community:incoraggia la condivisione delle conoscenze e la collaborazione tra gli utenti.
Aggiornamento processo
Le sezioni seguenti condividono le istruzioni per un modo in cui gli sviluppatori possono mantenere aggiornato il proprio codice con il repository di Cortex Framework Data Foundation mantenendo le personalizzazioni. Utilizzo degli script di deployment predefiniti nelle pipeline CI/CD. Tuttavia, le organizzazioni possono utilizzare strumenti e metodologie alternative in base alle proprie preferenze, come Dataform, o strumenti di automazione forniti dai diversi host Git, come le azioni di GitHub.
Configura il tuo repository
Questa sezione descrive un approccio alla configurazione del repository. Prima di seguire questi passaggi, è consigliabile avere una solida conoscenza di Git.
Fork repository principale: Crea un fork del repository di Cortex Framework Data Foundation. Il fork mantiene il repository che riceve gli aggiornamenti dal Google Cloud repository e un repository separato per il repository principale dell'azienda.
Crea il repository dell'azienda: crea un nuovo host Git per il repository della tua azienda (ad esempio, Cloud Source). Crea un repository con gli stessi nomi del repository di cui hai creato il fork sul nuovo host.
Inizializza il repository dell'azienda: copia il codice dal repository di cui hai creato il fork nel repository dell'azienda appena creato. Aggiungi il repository di cui hai creato il fork originale come un repository remoto upstream con il seguente comando, e verifica che il repository remoto sia stato aggiunto. In questo modo viene stabilita una connessione tra il repository della tua azienda e il repository originale.
git remote add google <<remote URL>> git remote -v git push --all googleVerifica la configurazione del repository: assicurati che il repository della tua azienda contenga il codice e la cronologia clonati. Dovresti visualizzare i due repository remoti, origin e quello che hai aggiunto dopo aver utilizzato il comando:
git remote -v:Ora hai il repository, il repository dell'azienda, in cui gli sviluppatori possono inviare le modifiche. Gli sviluppatori possono ora clonare e lavorare nei rami del nuovo repository.
Unisci le modifiche con una nuova release di Cortex
Questa sezione descrive la procedura di unione delle modifiche dal repository dell'azienda e delle modifiche provenienti dal Google Cloud repository.
Aggiorna i fork: fai clic su Sincronizza fork per aggiornare i fork del tuo repository con le modifiche dal Google Cloud repository. Ad esempio, vengono apportate le seguenti modifiche al repository dell'azienda. Inoltre, sono state apportate altre modifiche al repository di Data Foundation in una nuova release. Google Cloud
- Creazione e incorporazione dell'utilizzo di una nuova visualizzazione in SQL
- Modifica delle visualizzazioni esistenti
- Sostituzione completa di uno script con la nostra logica
La seguente sequenza di comandi aggiunge il repository di fork come repository remoto upstream da cui eseguire il pull della release aggiornata come GitHub ed estrae il ramo principale come GitHub-main. Poi, questo esempio estrae il ramo principale dal repository dell'azienda in Google Cloud Source e crea un ramo per l'unione denominato
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_brEsistono diversi modi per creare questo flusso. La procedura di unione potrebbe anche avvenire nel fork in GitHub, essere sostituita da un rebase anziché da un'unione e il ramo di unione potrebbe anche essere inviato come richiesta di unione. Queste varianti della procedura dipendono dalle policy organizzative correnti, dalla profondità delle modifiche e dalla praticità.
Con questa configurazione, puoi confrontare le modifiche in entrata con le modifiche locali. Ti consigliamo di utilizzare uno strumento in un IDE grafico di tua scelta per visualizzare le modifiche e scegliere cosa unire. Ad esempio, Visual Studio.
Ti consigliamo di contrassegnare le personalizzazioni utilizzando commenti che si distinguono visivamente, per semplificare la procedura di diff.
Avvia la procedura di unione: utilizza il ramo creato (in questo esempio, è il ramo denominato
merging_br) per unire tutte le modifiche ed eliminare i file. Quando è tutto pronto, puoi unire questo ramo di nuovo nel ramo principale o in un altro ramo del repository della tua azienda per creare una richiesta di unione. Dal ramo di unione estratto dal ramo principale del repository della tua azienda (git checkout merging_br), unisci le modifiche in entrata dal 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`Questo comando genera un elenco di conflitti. Utilizza il confronto IDE grafico per comprendere le modifiche e scegliere tra current, incoming e both. È qui che diventa utile avere un commento nel codice sulle personalizzazioni. Scegli di eliminare completamente le modifiche, elimina i file che non vuoi unire e ignora le modifiche alle visualizzazioni o agli script che hai già personalizzato.
Unisci le modifiche: dopo aver deciso le modifiche da applicare, controlla il riepilogo ed esegui il commit con il 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 non ti senti sicuro di un passaggio, consulta Annullare le operazioni di base di Git.
Test ed esecuzione del deployment: finora hai eseguito l'unione solo in un ramo "temporaneo". A questo punto, ti consigliamo di eseguire un deployment di test dagli script
cloudbuild\*.yamlper assicurarti che tutto venga eseguito come previsto. I test automatizzati possono contribuire a semplificare questa procedura. Una volta che questo ramo di unione sembra corretto, puoi estrarre il ramo di destinazione principale e unirvi il ramomerging_br.