컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
업그레이드 추천
이 페이지에서는 맞춤설정된 Cortex Framework Data Foundation에서 새 버전으로 업그레이드하기 위한 권장사항을 설명합니다.
Cortex팀은 매 출시마다 Cortex Framework에 새로운 기능을 추가하는 동안 서비스 중단을 최소화하기 위해 최선을 다하고 있습니다. 새 업데이트는 이전 버전과의 호환성을 우선시합니다. 하지만 이 가이드를 따르면 발생할 수 있는 문제를 최소화할 수 있습니다.
Cortex Framework 데이터 기반은 BigQuery에 복제된 데이터의 가치를 높이는 사전 정의된 콘텐츠 및 템플릿을 제공합니다.
조직은 이러한 템플릿, 모듈, SQL, Python 스크립트, 파이프라인, 기타 제공된 콘텐츠를 필요에 맞게 조정합니다.
핵심 구성요소
Cortex Framework Data Foundation 콘텐츠는 개방성의 원칙을 염두에 두고 설계되었습니다.
조직은 제공된 BigQuery 데이터 모델을 사용할 때 가장 적합한 도구를 사용할 수 있습니다. 재단이 밀접하게 종속되는 유일한 플랫폼은 BigQuery입니다. 다른 모든 도구는 필요에 따라 교체할 수 있습니다.
- 데이터 통합: 원시 테이블과 구조를 복제할 수 있는 경우 BigQuery와 상호 연결되는 모든 통합 도구를 활용할 수 있습니다. 예를 들어 원시 테이블은 SAP에서 생성된 것과 동일한 스키마 (동일한 이름, 필드, 데이터 유형)와 유사해야 합니다. 또한 통합 도구는 BigQuery 호환성을 위해 대상 데이터 유형을 업데이트하는 것과 같이 기본 변환 서비스를 제공하고 새 레코드와 변경된 레코드를 강조 표시하기 위한 타임스탬프 또는 작업 플래그와 같은 필드를 추가할 수 있어야 합니다.
- 데이터 처리: 변경 데이터 캡처 (CDC) 처리 스크립트는 Cloud Composer(또는 Apache Airflow)를 사용하는 작업을 제공하며 선택사항입니다. 반대로 SQL 문은 가능하면 Airflow별 파일과 별도로 생성되므로 고객이 필요에 따라 다른 도구에서 별도의 SQL 파일을 사용할 수 있습니다.
- 데이터 시각화: Looker 대시보드 템플릿이 제공되고 시각화 및 최소 로직이 포함되어 있지만, 핵심 로직은 설계상 BigQuery 내 데이터 기반에서 계속 사용할 수 있으므로 원하는 보고 도구로 시각화를 만들 수 있습니다.
주요 이점
Cortex Framework Data Foundation은 다양한 비즈니스 요구사항에 맞게 조정할 수 있도록 설계되었습니다. 구성요소는 유연하게 빌드되므로 조직은 플랫폼을 특정 요구사항에 맞게 조정하고 다음과 같은 이점을 얻을 수 있습니다.
- 개방성: BigQuery 외에도 다양한 데이터 통합, 처리, 시각화 도구와 원활하게 통합됩니다.
- 맞춤설정: 조직은 데이터 모델 및 비즈니스 로직에 맞게 SQL 뷰와 같은 사전 빌드된 구성요소를 수정하고 확장할 수 있습니다.
- 성능 최적화: 파티션, 데이터 품질 검사, 클러스터링과 같은 기법은 개별 워크로드 및 데이터 양에 따라 조정할 수 있습니다.
- 하위 호환성: Cortex는 향후 출시에서 하위 호환성을 유지하여 기존 구현의 중단을 최소화하기 위해 노력하고 있습니다. 버전 변경사항에 관한 자세한 내용은 출시 노트를 참고하세요.
- 커뮤니티 참여: 사용자 간의 지식 공유 및 공동작업을 장려합니다.
프로세스 업데이트
다음 섹션에서는 개발자가 맞춤설정을 유지하면서 Cortex Framework Data Foundation 저장소를 사용하여 코드를 최신 상태로 유지하는 한 가지 방법에 관한 안내를 제공합니다. CI/CD 파이프라인에서 사전 제공된 배포 스크립트 사용 그러나 조직은 선호사항에 따라 Dataform과 같은 대체 도구와 방법론을 사용하거나 GitHub 액션과 같이 다양한 Git 호스트에서 제공하는 자동화 도구를 사용할 수 있습니다.
저장소 설정
이 섹션에서는 저장소를 설정하는 한 가지 방법을 간략히 설명합니다. 이 단계를 따르기 전에 Git을 확실히 이해하는 것이 좋습니다.
핵심 저장소 포크: Cortex Framework Data Foundation 저장소의 포크를 만듭니다. 포크는 해당 저장소가 Google Cloud 저장소에서 업데이트를 수신하도록 유지하고 회사의 기본 저장소를 위한 별도의 저장소를 유지합니다.
회사 저장소 만들기: 회사 저장소의 새 Git 호스트 (예: Cloud Source)를 설정합니다. 새 호스트에서 포크된 저장소와 동일한 이름으로 저장소를 만듭니다.
회사 저장소 초기화: 포크된 저장소의 코드를 새로 만든 회사 저장소에 복사합니다. 다음 명령어를 사용하여 원래 포크된 저장소를 업스트림 원격 저장소로 추가하고 원격이 추가되었는지 확인합니다. 이렇게 하면 회사 저장소와 원래 저장소 간에 연결이 설정됩니다.
git remote add google <<remote URL>>
git remote -v
git push --all google
저장소 설정 확인: 회사 저장소에 클론된 코드와 기록이 포함되어 있는지 확인합니다. 명령어를 사용한 후 원본과 추가한 원격 두 개가 표시됩니다.
git remote -v:
이제 개발자가 변경사항을 제출할 수 있는 저장소인 회사의 저장소가 생겼습니다. 이제 개발자는 새 저장소의 브랜치를 클론하고 브랜치에서 작업할 수 있습니다.
변경사항을 새 Cortex 출시와 병합
이 섹션에서는 회사의 저장소의 변경사항과 Google Cloud 저장소의 변경사항을 병합하는 프로세스를 설명합니다.
포크 업데이트: 포크 동기화를 클릭하여 저장소의 포크를 저장소의 변경사항으로 업데이트합니다. Google Cloud 예를 들어 회사의 저장소에 다음과 같은 변경사항이 적용됩니다. 또한 새 버전에서는 Google Cloud 에 의해 데이터 기반 저장소에 몇 가지 다른 변경사항이 적용되었습니다.
- SQL에서 새 뷰를 만들고 사용하도록 통합했습니다.
- 기존 뷰 수정됨
- 스크립트를 Google 자체 로직으로 완전히 대체했습니다.
다음 명령어 시퀀스는 포크 저장소를 업스트림 원격 저장소로 추가하여 업데이트된 출시 버전을 GitHub에서 가져오고 기본 브랜치를 GitHub-main으로 체크아웃합니다. 그런 다음 이 예에서는 Google Cloud 소스의 회사 저장소에서 기본 브랜치를 체크아웃하고 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
이 흐름을 빌드하는 방법에는 여러 가지가 있습니다. 병합 프로세스는 GitHub의 포크에서 발생할 수도 있고, 병합 대신 리베이스로 대체될 수도 있으며, 병합 브랜치가 병합 요청으로 전송될 수도 있습니다. 이러한 프로세스 변형은 현재 조직 정책, 변경사항의 심도, 편의성에 따라 달라집니다.
이 설정을 사용하면 수신되는 변경사항을 로컬 변경사항과 비교할 수 있습니다. 원하는 그래픽 IDE의 도구를 사용하여 변경사항을 확인하고 병합할 항목을 선택하는 것이 좋습니다. 예를 들어 Visual Studio가 있습니다.
차이점 확인 프로세스를 더 쉽게 진행할 수 있도록 시각적으로 눈에 띄는 주석을 사용하여 맞춤설정을 신고하는 것이 좋습니다.
병합 프로세스 시작: 만든 브랜치 (이 예에서는 merging_br
라는 브랜치)를 사용하여 모든 변경사항을 수렴하고 파일을 삭제합니다. 준비가 되면 이 브랜치를 회사 저장소의 기본 브랜치 또는 다른 브랜치로 다시 병합하여 병합 요청을 만들 수 있습니다. 회사 저장소의 기본(git checkout merging_br
)에서 체크아웃한 병합 브랜치에서 원격 포크의 수신 변경사항을 병합합니다.
## 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`
이 명령어는 충돌 목록을 생성합니다. 그래픽 IDE 비교를 사용하여 변경사항을 파악하고 현재, 수신, 둘 다 중에서 선택합니다.
이때 코드에 맞춤설정에 관한 주석을 달면 유용합니다.
변경사항을 모두 삭제하거나, 병합하고 싶지 않은 파일을 삭제하거나, 이미 맞춤설정한 뷰 또는 스크립트의 변경사항을 무시하도록 선택합니다.
변경사항 병합: 적용할 변경사항을 결정한 후 요약을 확인하고 다음 명령어로 커밋합니다.
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"
어떤 단계에 대해 확신이 서지 않는다면 Git 기본 실행취소를 참고하세요.
테스트 및 배포: 지금까지는 '임시' 브랜치에만 병합했습니다.
이 시점에서 cloudbuild\*.yaml
스크립트에서 테스트 배포를 실행하여 모든 것이 예상대로 실행되는지 확인하는 것이 좋습니다. 자동화 테스트를 사용하면 이 프로세스를 간소화할 수 있습니다. 병합 브랜치가 제대로 보이면 기본 타겟 브랜치를 체크아웃하고 merging_br
브랜치를 병합할 수 있습니다.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-09-04(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 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."]]