Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Rekomendasi upgrade
Halaman ini menjelaskan rekomendasi untuk mengupgrade ke versi baru dari
Cortex Framework Data Foundation yang disesuaikan.
Pada setiap rilis, tim Cortex berkomitmen untuk meminimalkan gangguan saat menambahkan
fitur baru ke Cortex Framework. Update baru memprioritaskan kompatibilitas
mundur. Namun, panduan ini membantu Anda meminimalkan kemungkinan masalah.
Cortex Framework Data Foundation menyediakan kumpulan konten dan template standar untuk mempercepat nilai dari data yang direplikasi ke BigQuery.
Organisasi menyesuaikan template, modul, SQL, skrip Python, pipeline, dan konten lainnya yang disediakan agar sesuai dengan kebutuhan mereka.
Komponen inti
Konten Cortex Framework Data Foundation dirancang dengan mempertimbangkan prinsip keterbukaan.
Organisasi dapat menggunakan alat yang paling sesuai untuk mereka saat menggunakan
model data BigQuery yang disediakan. Satu-satunya platform yang menjadi
dependensi utama foundation adalah BigQuery. Semua
alat lainnya dapat dipertukarkan sesuai kebutuhan:
- Integrasi Data: Alat integrasi apa pun yang memiliki interkoneksi dengan BigQuery dapat dimanfaatkan asalkan dapat mereplikasi tabel dan struktur mentah. Misalnya, tabel mentah harus menyerupai skema yang sama seperti saat
dibuat di SAP (nama, kolom, dan jenis data yang sama). Selain itu, alat integrasi harus dapat menyediakan layanan transformasi dasar seperti memperbarui jenis data target untuk kompatibilitas BigQuery serta menambahkan kolom tambahan seperti stempel waktu atau tanda operasi untuk menandai data baru dan yang diubah.
- Pemrosesan Data: Skrip pemrosesan Change Data Capture (CDC)
yang menyediakan pekerjaan dengan Cloud Composer
(atau Apache Airflow) bersifat opsional. Sebaliknya,
pernyataan SQL dibuat secara terpisah dari file khusus Airflow
jika memungkinkan, sehingga pelanggan dapat menggunakan file SQL terpisah di
alat lain sesuai kebutuhan.
- Visualisasi Data: Meskipun template dasbor Looker
disediakan dan berisi visualisasi serta logika minimum, logika inti tetap tersedia di fondasi data dalam
BigQuery secara desain untuk membuat visualisasi dengan
alat pelaporan pilihan mereka.
Manfaat utama
Cortex Framework Data Foundation dirancang agar dapat disesuaikan dengan
berbagai kebutuhan bisnis. Komponennya dibuat dengan fleksibilitas,
sehingga organisasi dapat menyesuaikan platform dengan kebutuhan
spesifik mereka dan mendapatkan manfaat berikut:
- Keterbukaan: Terintegrasi dengan lancar dengan berbagai alat integrasi, pemrosesan, dan visualisasi data di luar BigQuery.
- Penyesuaian: Organisasi dapat mengubah dan memperluas komponen bawaan
seperti tampilan SQL agar sesuai dengan model data dan logika bisnis mereka.
- Pengoptimalan Performa: Teknik seperti partisi, pemeriksaan kualitas data, dan pengelompokan dapat disesuaikan berdasarkan setiap beban kerja dan volume data.
- Kompatibilitas Mundur: Cortex berupaya mempertahankan kompatibilitas mundur
dalam rilis mendatang, sehingga meminimalkan gangguan pada implementasi yang ada. Untuk
mengetahui informasi tentang perubahan versi, lihat Catatan Rilis.
- Kontribusi Komunitas: Mendorong berbagi pengetahuan dan kolaborasi
di antara pengguna.
Proses update
Bagian berikut membagikan petunjuk untuk salah satu cara developer
dapat terus memperbarui kode mereka dengan repositori Cortex Framework Data Foundation sekaligus
mempertahankan penyesuaian mereka. Penggunaan skrip deployment yang telah dikirimkan sebelumnya di
pipeline CI/CD. Namun, organisasi dapat menggunakan alat dan
metodologi alternatif agar sesuai dengan preferensi mereka, seperti Dataform,
atau alat otomatisasi yang disediakan oleh berbagai host Git, seperti tindakan GitHub.
Menyiapkan repositori
Bagian ini menguraikan satu pendekatan untuk menyiapkan repositori Anda. Sebelum mengikuti
langkah-langkah ini, sebaiknya Anda memiliki pemahaman yang baik tentang Git.
Membuat fork repositori inti:
Buat fork repositori Data Foundation
Cortex Framework. Fork akan membuat
repositori tersebut terus menerima update dari repositori Google Cloud , dan
repositori terpisah untuk utama Perusahaan.
Create Company Repository: Buat host Git baru untuk repositori
perusahaan Anda (misalnya, Cloud Source). Buat repositori dengan nama yang sama dengan repositori yang Anda buat fork di host baru.
Melakukan Inisialisasi Repositori Perusahaan: Salin kode dari Repositori yang Anda buat fork ke dalam repositori perusahaan yang baru dibuat. Tambahkan repositori fork asli sebagai
repositori jarak jauh upstream dengan perintah berikut,
dan pastikan repositori jarak jauh telah ditambahkan. Tindakan ini akan membuat koneksi antara
repositori perusahaan Anda dan repositori asli.
git remote add google <<remote URL>>
git remote -v
git push --all google
Verifikasi Penyiapan Repositori: Pastikan repositori perusahaan Anda berisi
kode dan histori yang di-clone. Anda akan melihat dua remote,
asli dan yang Anda tambahkan setelah menggunakan perintah:
git remote -v:
Sekarang Anda memiliki repositori, Repositori perusahaan, tempat
developer dapat mengirimkan perubahan mereka. Developer kini dapat meng-clone dan bekerja di
cabang di repositori baru.
Menggabungkan perubahan Anda dengan rilis Cortex baru
Bagian ini menjelaskan proses penggabungan perubahan dari repositori Perusahaan
dan perubahan yang berasal dari repositori Google Cloud .
Memperbarui fork: Klik Sinkronkan fork untuk memperbarui fork untuk repositori Anda dengan perubahan dari repositori Google Cloud . Misalnya,
perubahan berikut pada repositori Perusahaan telah dilakukan. Selain itu, ada
beberapa perubahan lain di repositori Data Foundation oleh Google Cloud dalam
rilis baru.
- Membuat dan menggabungkan penggunaan tampilan baru di SQL
- Mengubah tampilan yang ada
- Mengganti skrip sepenuhnya dengan logika kita sendiri
Urutan perintah berikut menambahkan repositori fork sebagai
repositori jarak jauh upstream untuk mengambil rilis yang diperbarui dari GitHub
dan memeriksa cabang utamanya sebagai GitHub-main. Kemudian, contoh ini akan memeriksa
cabang utama dari repositori Perusahaan di Google Cloud Sumber
dan membuat cabang untuk penggabungan yang disebut 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
Ada beberapa cara untuk membuat alur ini. Proses penggabungan juga dapat
terjadi di fork di GitHub, diganti dengan rebase, bukan penggabungan,
dan cabang penggabungan juga dapat dikirim sebagai permintaan penggabungan. Variasi proses ini
bergantung pada kebijakan organisasi saat ini, kedalaman perubahan,
dan kemudahan.
Dengan penyiapan ini, Anda dapat membandingkan perubahan yang masuk dengan perubahan lokal. Sebaiknya gunakan alat di IDE grafis pilihan untuk melihat
perubahan dan memilih apa yang akan digabungkan. Misalnya, Visual Studio.
Sebaiknya laporkan penyesuaian menggunakan komentar yang terlihat
jelas secara visual, untuk mempermudah proses perbedaan.
Mulai proses penggabungan: Gunakan cabang yang dibuat (dalam contoh ini, adalah
cabang yang disebut merging_br
) untuk menggabungkan semua perubahan
dan menghapus file. Jika sudah siap, Anda dapat menggabungkan cabang ini kembali ke cabang utama atau
cabang lain untuk repositori Perusahaan Anda guna membuat permintaan penggabungan. Dari
cabang penggabungan yang diambil dari cabang utama repositori
Perusahaan Anda (git checkout merging_br
), gabungkan perubahan yang masuk dari fork jarak jauh.
## 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`
Perintah ini menghasilkan daftar konflik. Gunakan perbandingan IDE grafis
untuk memahami perubahan dan memilih antara saat ini, masuk, dan keduanya.
Di sinilah komentar dalam kode seputar penyesuaian menjadi berguna.
Pilih untuk menghapus semua perubahan, menghapus file yang tidak ingin digabungkan sama sekali, dan mengabaikan perubahan pada tampilan atau skrip yang telah Anda sesuaikan.
Gabungkan perubahan: Setelah Anda memutuskan perubahan yang akan diterapkan, periksa ringkasan dan komit dengan perintah:
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"
Jika Anda merasa tidak yakin dengan langkah apa pun, lihat Mengurungkan tindakan dasar di Git.
Uji dan deploy: Sejauh ini, Anda hanya menggabungkan ke cabang "sementara".
Sebaiknya jalankan deployment pengujian dari skrip cloudbuild\*.yaml
pada tahap ini untuk memastikan semuanya berjalan seperti yang diharapkan. Pengujian otomatis
dapat membantu menyederhanakan proses ini. Setelah cabang penggabungan ini terlihat bagus,
Anda dapat melakukan checkout cabang target utama dan menggabungkan cabang merging_br
ke dalamnya.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-09-04 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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."]]