Git 리포지토리와 Snowflake Notebooks 동기화¶
Snowflake Notebooks에서 버전 제어를 사용하려면 노트북 개발을 Git 리포지토리의 분기와 동기화해야 합니다.
이미 Git 리포지토리에 연결되도록 Snowflake 계정을 설정하고 해당 리포지토리에 노트북 개발에 사용할 분기를 생성해 두어야 합니다. Git을 사용하기 위해 Snowflake 설정하기 섹션을 참조하십시오.
Git 리포지토리의 파일에서 노트북 만들기¶
참고
파일은 .ipynb
형식의 파일이어야 하며, 노트북 형식(nbformat) 4.0 이상을 사용해야 합니다.
Git 리포지토리의 파일에서 Snowflake Notebook을 만들려면 다음을 수행합니다.
Snowsight 에 로그인합니다.
Projects » Notebooks 를 선택합니다.
+ Notebook 옆의 드롭다운 메뉴를 열고 Create from repository 을 선택합니다.
File location in repository 의 경우, 리포지토리에서 노트북 파일이 들어 있는 리포지토리와 분기를 선택한 다음, 특정
.ipynb
파일을 선택합니다.Notebook location 에서, 노트북을 포함할 데이터베이스와 스키마를 선택합니다. 노트북을 만든 후에는 변경할 수 없습니다.
Notebook warehouse 에서, 웨어하우스를 선택합니다.
Create 를 선택하여 Git 리포지토리에 있는
.ipynb
파일에서 Snowflake 노트북을 만듭니다.
기존 노트북을 Git 리포지토리에 연결¶
기존 Snowflake 노트북을 Git 리포지토리에 연결하려면 다음을 수행합니다.
참고
최소한 다음 권한이 있는 역할을 사용해야 합니다.
Git 리포지토리에 대한 OWNERSHIP 또는 READ 권한.
Git 리포지토리가 포함된 스키마에 대한 USAGE 권한.
액세스 제어 요구 사항 섹션을 참조하십시오.
Snowsight 에 로그인합니다.
Projects » Notebooks 를 선택하고 Snowflake 노트북을 열거나 만듭니다.
Files 탭의 데이터베이스 오브젝트 탐색기 옆에서 Connect Git Repository 를 선택합니다.
File location in repository 의 경우, 리포지토리에서 노트북을 동기화할 리포지토리와 분기를 선택합니다.
Select Folder 를 선택합니다.
다음으로 노트북을 Git 리포지토리에 커밋하라는 메시지가 표시됩니다. Git 리포지토리의 분기에 변경 사항 커밋 섹션에 설명된 커밋 단계를 완료합니다.
노트북을 Git 리포지토리에 연결한 후에는 분기 이름을 선택하고 Snowflake나 Github에서 리포지토리 세부 정보를 열 수 있습니다.
Git 리포지토리의 분기에 변경 사항 커밋¶
Snowflake Notebook이 Git 리포지토리의 분기에 연결되어 있는 경우 Snowflake Notebook을 변경한 후 해당 분기에 변경 사항을 커밋할 수 있습니다.
변경 사항을 커밋하려면 Git 리포지토리에서 OWNERSHIP 또는 WRITE 권한이 있는 역할을 사용해야 합니다. 액세스 제어 요구 사항 섹션을 참조하십시오.
Snowsight 에 로그인합니다.
Projects » Notebooks 를 선택하고 Snowflake 노트북을 엽니다.
노트북에 관련된 변경 사항을 적용합니다.
Commit 를 선택합니다.
표시되는 Commit to Repository 대화 상자에서 지정된 분기 및 리포지토리에 변경 내용을 커밋하는 데 사용되는 사용자 이름과 이메일 주소를 검토할 수 있습니다. 사용자 이름과 이메일 주소를 업데이트해야 하는 경우 Credentials 섹션을 확장하고 Author name 및 Author email 을 업데이트합니다.
Commit message 에, 커밋에 포함할 메시지를 입력합니다.
Credentials 섹션을 확장하여 자격 증명을 구성합니다. Personal access token 필드에 Git 리포지토리에 대한 개인 액세스 토큰을 입력합니다. 이 액세스 토큰은 Github과 같은 원격 Git 공급자로부터 제공됩니다.
이 토큰은 Git 리포지토리에 인증하는 데 필요합니다.
커밋이 동작하려면 토큰에 리포지토리 콘텐츠에 대한 읽기 및 쓰기 액세스 권한이 있어야 합니다.
토큰은 입력되면 향후 커밋을 위해 저장됩니다. 이후 커밋 시에 업데이트할 수 있습니다.
Commit 를 선택합니다.
변경 사항이 분기에 커밋되었다는 확인 메시지가 나타납니다.
Git 리포지토리의 원격 분기와 노트북 동기화¶
Git 리포지토리의 분기에 노트북을 연결한 후에는 원격 분기의 모든 변경 사항을 Snowflake Notebook과 동기화할 수 있습니다.
Snowsight 에 로그인합니다.
Projects » Notebooks 를 선택하고 Snowflake 노트북을 열거나 만듭니다.
데이터베이스 오브젝트 탐색기의 Files 탭에서 Pull 을 선택합니다.
Snowflake는 원격 리포지토리 분기에 있는 모든 변경 사항을 가져와서 노트북 내용을 해당 변경 사항과 병합합니다.
병합 충돌¶
Snowflake는 동기화 중에 발생하는 병합 충돌을 해결하려고 시도합니다. Snowflake에서 해결할 수 없는 병합 충돌이 발생하는 경우, 변경 사항을 취소하거나 새 분기에 커밋하라는 메시지가 표시됩니다. 새로운 분기에 커밋하면 Git 공급자를 사용하여 새로운 분기의 변경 사항을 원래 분기에 수동으로 병합합니다. 그러면 최신 업데이트를 Snowflake 노트북으로 가져와야 합니다.