Share via


Azure Databricks 작업에서 버전 제어 소스 코드 사용

원격 Git 리포지토리 또는 Databricks Git 폴더에 있는 Notebook 또는 Python 코드를 사용하여 작업을 실행할 수 있습니다. 이 기능은 프로덕션 작업의 생성 및 관리를 간소화하고 지속적인 배포를 자동화합니다.

  • Azure Databricks에서 별도의 프로덕션 리포지토리를 만들고, 해당 권한을 관리하고, 업데이트된 상태로 유지할 필요가 없습니다.
  • 프로덕션 리포지토리의 로컬 편집 또는 분기 전환으로 인한 변경과 같은 프로덕션 작업의 의도하지 않은 변경을 방지할 수 있습니다.
  • 작업 정의 프로세스에는 원격 리포지토리에 단일 원본이 있으며 각 작업 실행은 커밋 해시에 연결됩니다.

원격 Git 리포지토리에서 소스 코드를 사용하려면 Databricks Git 폴더(Repos)를 설정해야 합니다.

Important

원격 Git 리포지토리에서 실행되는 Azure Databricks 작업에서 만든 Notebook은 임시입니다. MLflow 실행, 실험 및 모델을 추적하는 데 의존할 수 없습니다. 이 경우 독립 실행형 MLflow 실험을 대신 사용합니다.

참고 항목

서비스 주체를 ID로 사용하여 작업을 실행하는 경우 작업의 소스 코드를 포함하는 Git 폴더에서 서비스 주체를 구성할 수 있습니다. Databricks Git 폴더에서 서비스 주체 사용을 참조 하세요.

원격 Git 리포지토리에서 Notebook 사용

원격 Git 리포지토리에 있는 Notebook을 사용하여 작업을 만들려면 다음을 수행합니다.

  1. 사이드바에서 워크플로를 클릭하고 워크플로 아이콘기존 작업을 클릭 작업 만들기 단추 하거나 이동하여 새 작업을 추가합니다.

  2. 새 작업인 경우 작업 이름 추가...를 작업 이름으로 대체합니다.

  3. 태스크 이름 필드에 태스크의 이름을 입력합니다.

  4. 형식 드롭다운 메뉴에서 전자 필기장을 선택합니다.

  5. 원본 드롭다운 메뉴에서 Git 공급자를 선택하고 Git 참조 편집 또는 추가를 클릭합니다. Git 정보 대화 상자가 나타납니다.

  6. Git 정보 대화 상자에서 리포지토리 URL, Git 공급자 및 Git 참조를 포함하여 리포지토리에 대한 세부 정보를 입력합니다. 이 Git 참조는 분기, 태그 또는 커밋일 수 있습니다.

    경로의 경우 Notebook 위치(예: etl/notebooks/)에 대한 상대 경로를 입력합니다.

    상대 경로를 입력할 때 / 또는 ./로 시작하지 않거나 .py와 같은 Notebook 파일 확장명을 포함하지 마세요. 예를 들어 액세스하려는 Notebook의 절대 경로가 /notebooks/covid_eda_raw.py인 경우 경로 필드에 notebooks/covid_eda_raw을 입력합니다.

  7. 만들기를 클릭합니다.

Important

원본 Git 리포지토리에서 직접 Python Notebook을 사용하는 경우 Notebook 원본 파일의 첫 번째 줄이 있어야 # Databricks notebook source합니다. Scala Notebook의 경우 원본 파일의 첫 번째 줄은 .이어야 // Databricks notebook source합니다.

원격 Git 리포지토리에서 Python 코드 사용

원격 Git 리포지토리에 있는 Python 코드를 사용하여 작업을 만들려면 다음을 수행합니다.

  1. 사이드바에서 워크플로를 클릭하고 워크플로 아이콘기존 작업을 클릭 작업 만들기 단추 하거나 이동하여 새 작업을 추가합니다.

  2. 새 작업인 경우 작업 이름 추가...를 작업 이름으로 대체합니다.

  3. 태스크 이름 필드에 태스크의 이름을 입력합니다.

  4. 형식 드롭다운 메뉴에서 Python 스크립트를 선택합니다.

  5. 원본 드롭다운 메뉴에서 Git 공급자를 선택하고 Git 참조 편집 또는 추가를 클릭합니다. Git 정보 대화 상자가 나타납니다.

  6. Git 정보 대화 상자에서 리포지토리 URL, Git 공급자 및 Git 참조를 포함하여 리포지토리에 대한 세부 정보를 입력합니다. 이 Git 참조는 분기, 태그 또는 커밋일 수 있습니다.

    경로의 경우 원본 위치에 대한 상대 경로(예: etl/python/python_etl.py.)를 입력합니다.

    상대 경로를 입력할 때 시작하지 /./마세요. 예를 들어 액세스하려는 Python 코드의 절대 경로가 /python/covid_eda_raw.py있으면 경로 필드에 입력 python/covid_eda_raw.py 합니다.

  7. 만들기를 클릭합니다.

원격 Git 리포지토리에 저장된 Python 코드를 실행하는 작업의 실행 기록을때 작업 실행 세부 정보 패널에는 실행과 연결된 커밋 SHA를 비롯한 Git 세부 정보가 포함됩니다.

원격 Git 리포지토리에서 SQL 쿼리 사용

참고 항목

파일에서 하나의 SQL 문만 지원됩니다. 세미콜론(;)으로 구분된 여러 SQL 문은 허용되지 않습니다.

원격 Git 리포지토리에 .sql 있는 파일에 저장된 쿼리를 실행하려면 다음을 수행합니다.

  1. 사이드바에서 워크플로를 클릭하고 워크플로 아이콘기존 작업을 클릭 작업 만들기 단추 하거나 이동하여 새 작업을 추가합니다.

  2. 새 작업인 경우 작업 이름 추가...를 작업 이름으로 대체합니다.

  3. 태스크 이름 필드에 태스크의 이름을 입력합니다.

  4. 형식 드롭다운 메뉴에서 SQL을 선택합니다.

  5. SQL 작업 드롭다운 메뉴에서 파일을 선택합니다.

  6. 원본 드롭다운 메뉴에서 Git 공급자를 선택하고 Git 참조 편집 또는 추가를 클릭합니다. Git 정보 대화 상자가 나타납니다.

  7. Git 정보 대화 상자에서 리포지토리 URL, Git 공급자 및 Git 참조를 포함하여 리포지토리에 대한 세부 정보를 입력합니다. 이 Git 참조는 분기, 태그 또는 커밋일 수 있습니다.

    경로의 경우 원본 위치에 대한 상대 경로(예: queries/sql/myquery.sql.)를 입력합니다.

    상대 경로를 입력할 때 시작하지 /./마세요. 예를 들어 액세스하려는 SQL 쿼리의 절대 경로가 /sql/myqeury.sql있으면 경로 필드에 입력 sql/myquery.sql 합니다.

  8. SQL 웨어하우스를 선택합니다. 서버리스 SQL 웨어하우스 또는 PRO SQL 웨어하우스를 선택해야 합니다.

  9. 만들기를 클릭합니다.

원격 Git 리포지토리에서 추가 작업 추가

멀티태스크 작업의 추가 작업은 다음 방법 중 하나로 원격 리포지토리 동일한 커밋을 참조할 수 있습니다.

  • git_branch가 설정된 경우 $branch/headsha
  • git_tag가 설정된 경우 $tagsha
  • git_commit의 값

Azure Databricks 작업에서 Notebook 및 Python 작업을 혼합할 수 있지만 동일한 Git 참조를 사용해야 합니다.

Databricks Git 폴더 사용

Azure Databricks UI를 사용하여 소스 코드를 버전 제어하려면 리포지 토리를 Databricks Git 폴더에 복제합니다. 자세한 내용은 옵션 2: 프로덕션 Git 폴더 및 Git 자동화 설정을 참조하세요.

작업 태스크의 Git 폴더에서 Notebook 또는 Python 코드를 추가하려면 원본 드롭다운 메뉴에서 작업 영역을 선택하고 경로Notebook 또는 Python 코드의 경로를 입력합니다.

IDE에서 Notebook 액세스

통합 개발 환경에서 Notebook에 액세스해야 하는 경우 Notebook 소스 코드 파일 상단에 주석 # Databricks notebook source가 있는지 확인합니다. 일반 Python 파일과 소스 코드 형식으로 내보낸 Azure Databricks Python 언어 Notebook을 구분하기 위해 Databricks는 Notebook 소스 코드 파일의 맨 위에 # Databricks notebook source 줄을 추가합니다. Notebook을 가져올 때 Azure Databricks는 이를 인식하고 Python 모듈이 아닌 Notebook으로 가져옵니다.

문제 해결

참고 항목

Git 기반 작업은 작업 영역 파일에 대한 쓰기 액세스를 지원하지 않습니다. 임시 스토리지 위치에 데이터를 쓰려면 드라이버 스토리지를 사용합니다. Git 작업에서 영구 데이터를 작성하려면 UC 볼륨 또는 DBFS를 사용합니다.

오류 메시지:

Run result unavailable: job failed with error message Notebook not found: path-to-your-notebook

가능한 원인:

전자 필기장이 전자 필기장 소스 코드 파일의 맨 위에 있거나 메모에 있는 주석 # Databricks notebook sourcenotebook 이 누락된 경우 소문 n자로 시작해야 할 때 대문자로 표시됩니다.