Databricks Git 폴더와 Git 통합에 대한 제한 및 FAQ

Databricks Git 폴더 및 Git 통합에는 다음 섹션에 지정된 제한이 있습니다. 일반 정보는 Databricks 제한을 참조하세요.

파일 및 리포지토리 크기 제한

Azure Databricks는 리포지토리 크기에 제한을 적용하지 않습니다. 단,

  • 작업 분기는 200MB로 제한됩니다.
  • 개별 작업 영역 파일에는 별도의 크기 제한이 적용됩니다. 자세한 내용은 제한 사항을 참조 하세요.
  • 10MB보다 큰 파일은 Azure Databricks UI에서 볼 수 없습니다.

Databricks는 리포지토리에서 다음을 권장합니다.

  • 모든 파일의 총 수가 10,000개를 초과하지 않습니다.
  • 총 Notebook 수가 5,000개를 초과하지 않습니다.

Git 작업의 경우 메모리 사용량이 2GB로 제한되고 디스크 쓰기는 4GB로 제한됩니다. 제한은 작업당이므로 현재 크기가 5GB인 Git 리포지토리를 복제하려고 하면 오류가 발생합니다. 그러나 한 작업에서 크기가 3GB인 Git 리포지토리를 복제한 다음 나중에 2GB를 추가하면 다음 끌어오기 작업이 성공합니다.

리포지토리가 이러한 제한을 초과하면 오류 메시지가 표시될 수 있습니다. 리포지토리를 복제할 때 시간 제한 오류가 표시될 수도 있지만 백그라운드에서 작업을 완료할 수 있습니다.

크기 제한보다 큰 리포지토리로 작업하려면 스파스 검사out을 사용해 보세요.

클러스터가 종료된 후 유지하지 않으려는 임시 파일을 작성해야 하는 경우 분기 크기 제한을 초과하지 않도록 임시 파일을 $TEMPDIR 작성하면 CWD가 작업 영역 파일 시스템에 있는 경우 CWD(현재 작업 디렉터리)에 쓰는 것보다 성능이 향상됩니다. 자세한 내용은 Azure Databricks에서 임시 파일을 어디에 작성해야 하나요?를 참조하세요.

작업 영역당 최대 리포지토리 수

작업 영역당 최대 2,000개의 리포지토리를 가질 수 있습니다.

Git 폴더 구성

Azure Databricks 리포지토리 콘텐츠는 어디에 저장되나요?

리포지토리의 내용은 컨트롤 플레인의 디스크에 일시적으로 복제됩니다. Azure Databricks Notebook 파일은 기본 작업 영역의 Notebook과 마찬가지로 컨트롤 플레인 데이터베이스에 저장됩니다. Notebook이 아닌 파일은 최대 30일 동안 디스크에 저장됩니다.

Git 폴더는 온-프레미스 또는 자체 호스팅 Git 서버를 지원합니까?

Databricks Git 폴더는 서버에 인터넷에 액세스할 수 있는 경우 GitHub Enterprise, Bitbucket Server, Azure DevOps Server 및 GitLab 자체 관리형 통합을 지원합니다. Git 폴더를 온-프레미스 Git 서버와 통합하는 자세한 내용은 Git 폴더용 Git 프록시 서버를 참조 하세요.

인터넷에 액세스할 수 없는 Bitbucket Server, GitHub Enterprise Server 또는 GitLab 자체 관리형 구독 인스턴스와 통합하려면 Azure Databricks 계정 팀에 문의하세요.

Git 폴더에서 지원되는 Databricks 자산 유형은 무엇인가요?

지원되는 자산 유형 에 대한 자세한 내용은 Databricks Git 폴더의 파일 자산 관리를 참조하세요.

Git 폴더는 파일을 지원 .gitignore 합니까?

예. 리포지토리에 파일을 추가하고 Git에서 추적하지 않도록 하려면 .gitignore 파일을 만들거나 원격 리포지토리에서 복제된 파일을 사용하고 확장명을 포함한 파일 이름을 추가합니다.

.gitignore는 Git에서 아직 추적되지 않은 파일에 대해서만 작동합니다. Git에서 이미 추적한 파일을 .gitignore 파일에 추가하면 파일이 여전히 Git에서 추적됩니다.

사용자 폴더가 아닌 최상위 폴더를 만들 수 있나요?

예, 관리자는 단일 깊이로 최상위 폴더를 만들 수 있습니다. Git 폴더는 추가 폴더 수준을 지원하지 않습니다.

Git 폴더는 Git 하위 모듈을 지원하나요?

아니요. Git 하위 모듈이 포함된 리포지토리를 복제할 수 있지만 하위 모듈은 복제되지 않습니다.

ADF(Azure Data Factory)가 Git 폴더를 지원하나요?

예.

원본 관리

다른 분기를 끌어오거나 체크 아웃할 때 Notebook 대시보드가 사라지는 이유는 무엇인가요?

Azure Databricks Notebook 원본 파일은 Notebook 대시보드 정보를 저장하지 않으므로 이는 현재 제한 사항입니다.

Git 리포지토리에서 대시보드를 유지하려면 Notebook 형식을 (Jupyter Notebook 형식)으로 .ipynb 변경합니다. 기본적으로 .ipynb 대시보드 및 시각화 정의를 지원합니다. 그래프 데이터(데이터 요소)를 유지하려면 출력을 사용하여 Notebook을 커밋해야 합니다.

Notebook 출력 커 .ipynb 밋에 대한 자세한 내용은 Notebook 출력 커밋 허용을 .ipynb 참조하세요.

Git 폴더는 분기 병합을 지원합니까?

예. 끌어오기 요청을 만들고 Git 공급자를 통해 병합할 수도 있습니다.

Azure Databricks 리포지토리에서 분기를 삭제할 수 있나요?

아니요. 분기를 삭제하려면 Git 공급자에서 작업해야 합니다.

라이브러리가 클러스터에 설치되어 있고 이름이 동일한 라이브러리가 리포지토리 내의 폴더에 포함된 경우 어떤 라이브러리를 가져오나요?

리포지토리의 라이브러리를 가져옵니다. Python의 라이브러리 우선 순위에 대한 자세한 내용은 Python 라이브러리 우선 순위를 참조 하세요.

외부 오케스트레이션 도구를 사용하지 않고 작업을 실행하기 전에 Git에서 최신 버전의 리포지토리를 끌어올 수 있나요?

아니요. 일반적으로 이를 Git 서버에서 사전 커밋으로 통합하여 분기(기본/프로덕션)에 대한 모든 푸시가 프로덕션 리포지토리를 업데이트하도록 할 수 있습니다.

리포지토리를 내보낼 수 있나요?

Notebook, 폴더 또는 전체 리포지토리를 내보낼 수 있습니다. 전자 필기장이 아닌 파일은 내보낼 수 없습니다. 전체 리포지토리를 내보내는 경우 전자 필기장이 아닌 파일은 포함되지 않습니다. 내보내려면 Databricks CLI에서 명령을 사용 workspace export 하거나 작업 영역 API사용합니다.

보안, 인증 및 토큰

Microsoft Entra ID(이전의 Azure Active Directory)에 대한 CAP(조건부 액세스 정책) 문제

리포지토리를 복제하려고 하면 다음과 같은 경우 "액세스 거부" 오류 메시지가 표시될 수 있습니다.

  • Azure Databricks는 Microsoft Entra ID 인증과 함께 Azure DevOps를 사용하도록 구성됩니다.
  • Azure DevOps에서 조건부 액세스 정책 및 Microsoft Entra ID 조건부 액세스 정책을 사용하도록 설정했습니다.

이 문제를 해결하려면 IP 주소 또는 Azure Databricks 사용자의 CAP(조건부 액세스 정책)에 제외를 추가합니다.

자세한 내용은 조건부 액세스 정책을 참조하세요.

Azure AD 토큰이 있는 허용 목록

Azure DevOps로 인증하기 위해 AAD(Azure Active Directory)를 사용하는 경우 기본 허용 목록은 Git URL을 다음으로 제한합니다.

  • dev.azure.com
  • visualstudio.com

자세한 내용은 허용 목록으로 원격 리포지토리 사용 제한을 참조하세요.

Azure Databricks Git 폴더의 콘텐츠가 암호화되었나요?

Azure Databricks Git 폴더의 콘텐츠는 기본 키를 사용하여 Azure Databricks에 의해 암호화됩니다. 고객 관리형 키를 사용한 암호화는 Git 자격 증명을 암호화하는 경우를 제외하고는 지원되지 않습니다.

Azure Databricks에서 GitHub 토큰은 어떻게 그리고 어디에 저장되나요? 누가 Azure Databricks에서 액세스할 수 있나요?

  • 인증 토큰은 Azure Databricks 컨트롤 플레인에 저장되며 Azure Databricks 직원은 감사되는 임시 자격 증명을 통해서만 액세스 권한을 얻을 수 있습니다.
  • Azure Databricks는 인증 토큰의 생성 및 삭제를 기록하지만 사용은 기록하지 않습니다. Azure Databricks에는 Azure Databricks 애플리케이션에서 토큰 사용을 감사하는 데 사용할 수 있는 Git 작업을 추적하는 로깅이 있습니다.
  • GitHub 엔터프라이즈는 토큰 사용을 감사합니다. 다른 Git 서비스에도 Git 서버 감사가 있을 수 있습니다.

Git 폴더는 커밋의 GPG 서명을 지원합니까?

아니요.

Git 폴더는 SSH를 지원합니까?

아니요, 단지 HTTPS.

다른 테넌트에서 Azure Databricks를 Azure DevOps 리포지토리에 연결하는 동안 오류가 발생했습니다.

별도의 테넌트에서 DevOps에 연결하려고 하면 메시지가 Unable to parse credentials from Azure Active Directory account표시될 수 있습니다. Azure DevOps 프로젝트가 Azure Databricks와 다른 Microsoft Entra ID 테넌트인 경우 Azure DevOps의 액세스 토큰을 사용해야 합니다. DevOps 토큰을 사용하여 Azure DevOps에 대한 커넥트 참조하세요.

CI/CD 및 MLOps

수신 변경 내용이 Notebook 상태를 지움

Notebook 소스 코드를 변경하는 Git 작업은 셀 출력, 주석, 버전 기록 및 위젯을 포함하여 Notebook 상태가 손실됩니다. 예를 들어 Notebook git pull 의 소스 코드를 변경할 수 있습니다. 이 경우 Databricks Git 폴더는 기존 Notebook을 덮어써서 변경 내용을 가져와야 합니다. git commit 또는 push 새 분기를 만들면 Notebook 소스 코드에 영향을 미치지 않으므로 이러한 작업에서 Notebook 상태가 유지됩니다.

리포지토리에서 MLflow 실험을 만들 수 있나요?

MLflow 실험에는 작업 영역Notebook의 두 가지 유형이 있습니다. 두 가지 유형의 MLflow 실험에 대한 자세한 내용은 MLflow 실험을 사용하여 학습 실행 구성을 참조 하세요.

Git 폴더에서 형식 및 로그 실행 중 하나의 MLflow 실험을 호출 mlflow.set_experiment("/path/to/experiment") 할 수 있지만 해당 실험 및 연결된 실행은 소스 제어에 검사 않습니다.

작업 영역 MLflow 실험

Databricks Git 폴더(Git 폴더)에서는 작업 영역 MLflow 실험을 만들 수 없습니다. 여러 사용자가 별도의 Git 폴더를 사용하여 동일한 ML 코드에서 공동 작업하는 경우 로그 MLflow는 일반 작업 영역 폴더에서 만든 MLflow 실험으로 실행됩니다.

Notebook MLflow 실험

Databricks Git 폴더에서 Notebook 실험을 만들 수 있습니다. Notebook을 소스 제어에 파일로 .ipynb 검사 경우 MLflow 실행을 자동으로 생성되고 연결된 MLflow 실험에 기록할 수 있습니다. 자세한 내용은 Notebook 실험을 만드는 방법에 대해 읽어보세요.

MLflow 실험에서 데이터 손실 방지

Warning

Notebook이 포함되지 않은 분기로 전환할 때마다 연결된 MLFlow 실험 데이터가 손실될 위험이 있습니다. 이전 분기가 30일 이내에 액세스하지 않으면 이 손실은 퍼머넌트 상태가 됩니다.

30일이 만료 되기 전에 누락된 실험 데이터를 복구하려면 Notebook 이름을 원래 이름으로 다시 바꾸고, Notebook을 열고, 오른쪽 창에서 "실험" 아이콘(API를 효과적으로 호출 mlflow.get_experiment_by_name() 함)을 클릭하면 복구된 실험을 보고 실행할 수 있습니다. 30일 후에는 GDPR 준수 정책을 충족하기 위해 분리된 모든 MLflow 실험이 제거됩니다.

이러한 상황을 방지하기 위해 Databricks는 리포지토리에서 전자 필기장 이름을 완전히 바꾸는 것을 방지하거나 전자 필기장 이름을 바꾸는 경우 전자 필기장 이름을 바꾼 직후 오른쪽 창에서 "실험" 아이콘을 클릭하는 것이 좋습니다.

Git 작업이 진행 중인 동안 Notebook 작업이 작업 영역에서 실행되면 어떻게 되나요?

Git 작업이 진행되는 동안 언제든지 리포지토리의 일부 Notebook은 업데이트되었지만 다른 Notebook은 업데이트되지 않았을 수 있습니다. 이로 인해 예기치 않은 동작이 발생할 수 있습니다.

예를 들어 명령을 사용하여 호출 notebook Z 한다고 가정 notebook A 합니다%run. Git 작업 중에 실행 중인 작업이 최신 버전의 notebook A시작하지만 notebook Z 아직 업데이트 %run 되지 않은 경우 Notebook A의 notebook Z명령은 이전 버전의 작업을 시작할 수 있습니다. Git 작업 중에는 Notebook 상태를 예측할 수 없으며 작업이 실패하거나 실행되고 notebook Z 다른 커밋에서 실행 notebook A 될 수 있습니다.

이 상황을 방지하려면 Git 기반 작업(원본이 작업 영역 경로가 아닌 Git 공급자)을 대신 사용합니다. 자세한 내용은 Azure Databricks 작업에서 버전 제어 소스 코드 사용을 참조하세요.

리소스

Databricks 작업 영역 파일에 대한 자세한 내용은 작업 영역 파일이란?을 참조하세요.