Share via


UCX 유틸리티를 사용하여 작업 영역을 Unity 카탈로그로 업그레이드

이 문서에서는 Unity 카탈로그가 아닌 작업 영역을 Unity 카탈로그로 업그레이드하는 데 도움이 되는 도구를 제공하는 Databricks Labs 프로젝트인 UCX를 소개합니다.

참고 항목

UCX는 databrickslabs GitHub 계정의 모든 프로젝트와 마찬가지로 탐색용으로만 제공되며 SLA(서비스 수준 계약)를 사용하여 Databricks에서 공식적으로 지원되지 않습니다. 그대로 제공됩니다. 우리는 어떤 종류의 보장도하지 않습니다. 이 프로젝트의 사용으로 인해 발생하는 문제와 관련된 Databricks 지원 티켓을 제출하지 마세요. 대신 GitHub 문제를 제출합니다. 문제는 시간 허가로 검토되지만 지원을 위한 공식적인 SLA는 없습니다.

UCX 프로젝트는 다음과 같은 마이그레이션 도구 및 워크플로를 제공합니다.

  1. 마이그레이션을 계획하는 데 도움이 되는 평가 워크플로 입니다.
  2. 그룹 마이그레이션 워크플로 를 통해 작업 영역에서 Databricks 계정으로 그룹 멤버 자격을 업그레이드하고 권한을 새 계정 수준 그룹으로 마이그레이션할 수 있습니다.
  3. 작업 영역의 Hive 메타스토어에 등록된 테이블을 Unity 카탈로그 메타스토어로 업그레이드하는 데 도움이 되는 테이블 마이그레이션 worfklow 입니다. 또한 이 워크플로를 통해 스토리지 위치 및 액세스에 필요한 자격 증명을 마이그레이션할 수 있습니다.

이 다이어그램은 마이그레이션 워크플로 및 유틸리티를 이름으로 식별하는 전체 마이그레이션 흐름을 보여 줍니다.

UCX 마이그레이션 워크플로 차트

참고 항목

다이어그램에 표시된 코드 마이그레이션 워크플로는 개발 중인 기본 아직 사용할 수 없습니다.

시작하기 전에

UCX를 설치하고 UCX 워크플로를 실행하려면 환경이 다음 요구 사항을 충족해야 합니다.

UCX를 실행하는 컴퓨터에 설치된 패키지:

  • Databricks CLI v0.213 이상. Databricks CLI 설치 또는 업데이트를 참조하세요.

    작업 영역 및 Databricks 계정 모두에 대한 구성 프로필이 있는 Databricks 구성 파일이 있어야 합니다.

  • Python 3.10 이상.

  • 작업 영역의 Hive 테이블에서 사용하는 스토리지 위치를 식별하는 UCX 워크플로를 실행하려면(권장되지만 필수는 아님) UCX 워크플로를 실행하는 컴퓨터에 클라우드 스토리지 공급자(Azure CLI 또는 AWS CLI)에 대한 CLI가 설치되어 있어야 합니다.

네트워크 액세스:

  • UCX 설치를 실행하는 컴퓨터에서 마이그레이션하는 Azure Databricks 작업 영역으로의 네트워크 액세스
  • UCX 설치를 실행하는 컴퓨터에서 인터넷에 대한 네트워크 액세스 이는 pypi.org 및 github.com 액세스하는 데 필요합니다.
  • Azure Databricks 작업 영역에서 pypi.org 네트워크 액세스하여 패키지 및 pyyaml 패키지를 다운로드 databricks-sdk 합니다.

Databricks 역할 및 권한:

  • UCX 설치를 실행하는 사용자의 Azure Databricks 계정 관리자 및 작업 영역 관리자 역할. 설치를 서비스 주체로 실행할 수 없습니다.

기타 Databricks 필수 구성 요소:

  • 업그레이드하려는 작업 영역을 호스트하는 모든 지역에 대해 만들어진 Unity 카탈로그 메타스토어로, 각 Azure Databricks 작업 영역이 Unity 카탈로그 메타스토어에 연결됩니다.

    관련 작업 영역 지역에 Unity 카탈로그 메타스토어가 이미 있는지 여부, 그렇지 않은 경우 메타스토어를 만드는 방법 및 작업 영역에 Unity 카탈로그 메타스토어를 연결하는 방법을 알아보려면 1단계: Unity 카탈로그 설정 문서에서 작업 영역이 Unity 카탈로그 에 대해 사용하도록 설정되어 있는지 확인합니다. 또는 UCX는 UCX가 설치된 후 사용할 수 있는 작업 영역에 Unity 카탈로그 메타스토어 할당을 위한 유틸리티를 제공합니다.

    Unity 카탈로그 메타스토어를 작업 영역에 연결하면 ID 페더레이션이 가능하며, AZURE Databricks 계정 수준에서 사용자 관리를 중앙 집중화할 수 있습니다. 이는 UCX를 사용하기 위한 필수 구성 요소이기도 합니다. ID 페더레이션 사용을 참조하세요.

  • 작업 영역에서 기본 작업 영역 로컬 Hive 메타스토어 대신 외부 Hive 메타스토어(예: AWS Glue)를 사용하는 경우 몇 가지 필수 구성 요소 설정을 수행해야 합니다. databrickslabs/ucx 리포지토리에서 외부 Hive Metastore 통합을 참조하세요.

  • 평가 워크플로에서 생성된 보고서를 렌더링하는 데 필요한 UCX 워크플로를 실행하는 작업 영역에서 실행되는 Pro 또는 서버리스 SQL 웨어하우스입니다.

UCX 설치

UCX를 설치하려면 Databricks CLI를 사용합니다.

databricks labs install ucx

다음을 선택하라는 메시지가 표시됩니다.

  1. 업그레이드하려는 작업 영역에 대한 Databricks 구성 프로필입니다. 구성 파일에는 작업 영역의 부모 Databricks 계정에 대한 구성 프로필도 포함되어야 합니다.

  2. 마이그레이션 워크플로의 출력을 저장하는 데 사용할 인벤토리 데이터베이스의 이름입니다. 일반적으로 기본값인 .을 선택하는 것이 ucx좋습니다.

  3. 설치 프로세스를 실행할 SQL 웨어하우스입니다.

  4. 계정 수준 그룹으로 마이그레이션하려는 작업 영역-로컬 그룹 목록입니다. 기본값(<ALL>)으로 두면 이름이 작업 영역-로컬 그룹과 일치하는 기존 계정 수준 그룹이 해당 작업 영역-로컬 그룹에 대한 대체로 처리되고 설치 후 그룹 마이그레이션 워크플로를 실행할 때 모든 작업 영역 권한을 상속합니다.

    설치 관리자를 실행한 후 및 그룹 마이그레이션을 실행하기 전에 작업 영역 그룹-계정 그룹 매핑을 수정할 수 있습니다. UCX 리포지토리에서 그룹 이름 충돌 해결을 참조하세요.

  5. AWS Glue와 같은 외부 Hive 메타스토어가 있는 경우 연결할지 여부를 선택할 수 있습니다. databrickslabs/ucx 리포지토리에서 외부 Hive Metastore 통합을 참조하세요.

  6. 생성된 추가 정보 Notebook을 열지 여부입니다.

설치가 완료되면 작업 영역에 추가 정보 Notebook, 대시보드, 데이터베이스, 라이브러리, 작업 및 기타 자산을 배포합니다.

자세한 내용은 프로젝트 추가 정보에서 설치 지침을 참조 하세요. Databricks 계정의 모든 작업 영역에 UCX를 설치할 수도 있습니다.

추가 정보 전자 필기장 열기

모든 설치는 워크플로 및 대시보드에 대한 빠른 링크와 함께 모든 워크플로 및 작업에 대한 자세한 설명을 제공하는 추가 정보 Notebook을 만듭니다. 추가 정보 전자 필기장을 참조하세요.

1단계. 평가 워크플로 실행

평가 워크플로는 현재 작업 영역의 그룹 ID, 스토리지 위치, 스토리지 자격 증명, 액세스 제어 및 테이블의 Unity 카탈로그 호환성을 평가하고 Unity 카탈로그로 마이그레이션을 계획하는 데 필요한 정보를 제공합니다. 평가 워크플로의 태스크는 지정된 종속성에 따라 병렬 또는 순차적으로 실행할 수 있습니다. 평가 워크플로가 완료되면 평가 대시보드에 결과 및 일반적인 권장 사항이 채워집니다.

각 워크플로 작업의 출력은 설치 중에 지정한 스키마의 $inventory_database 델타 테이블에 저장됩니다. 이러한 테이블을 사용하여 평가 보고서를 사용하여 추가 분석 및 의사 결정을 수행할 수 있습니다. 평가 워크플로를 여러 번 실행하여 마이그레이션 프로세스를 시작하기 전에 호환되지 않는 모든 엔터티가 식별되고 고려되도록 할 수 있습니다.

UCX에서 생성된 README Notebook 및 Azure Databricks UI(워크플로 작업 > [UCX] 평가)에서 평가 워크플로 > 를 트리거하거나 다음 Databricks CLI 명령을 실행할 수 있습니다.

databricks labs ucx ensure-assessment-run

자세한 지침은 평가 워크플로를 참조 하세요.

2단계. 그룹 마이그레이션 워크플로 실행

그룹 마이그레이션 워크플로는 작업 영역-로컬 그룹을 계정 수준 그룹으로 업그레이드하여 Unity 카탈로그를 지원합니다. 작업 영역에서 적절한 계정 수준 그룹을 사용할 수 있도록 하고 모든 권한을 복제본(replica). 또한 작업 영역에서 불필요한 그룹 및 사용 권한을 제거합니다. 그룹 마이그레이션 워크플로의 작업은 평가 워크플로의 출력에 따라 달라집니다.

각 워크플로 작업의 출력은 설치 중에 지정한 스키마의 $inventory_database 델타 테이블에 저장됩니다. 이러한 테이블을 사용하여 추가 분석 및 의사 결정을 수행할 수 있습니다. 그룹 마이그레이션 워크플로를 여러 번 실행하여 모든 그룹이 성공적으로 업그레이드되고 필요한 모든 권한이 할당되었는지 확인할 수 있습니다.

그룹 마이그레이션 워크플로를 실행하는 방법에 대한 자세한 내용은 UCX 추가 정보에서 UCX에서 생성된 추가 정보 Notebook 및 그룹 마이그레이션 워크플로 를 참조하세요.

3단계. 테이블 마이그레이션 워크플로 실행

테이블 마이그레이션 워크플로는 Hive 메타스토어에서 Unity 카탈로그 메타스토어로 테이블을 업그레이드합니다. Hive 메타스토어의 외부 테이블은 SYNC를 사용하여 Unity 카탈로그의 외부 테이블로 업그레이드됩니다. 작업 영역 스토리지(DBFS 루트라고도 함)에 저장된 Hive 메타스토어의 관리 테이블은 DEEP CLONE을 사용하여 Unity 카탈로그에서 관리되는 테이블로 업그레이드됩니다.

Hive 관리 테이블은 업그레이드할 델타 또는 Parquet 형식이어야 합니다. 외부 Hive 테이블은 외부 테이블에 나열된 데이터 형식 중 하나여야 합니다.

준비 명령 실행

테이블 마이그레이션에는 테이블 마이그레이션 워크플로를 실행하기 전에 실행하는 여러 준비 작업이 포함됩니다. 다음 Databricks CLI 명령을 사용하여 이러한 작업을 수행합니다.

  • create-table-mapping 대상 Unity 카탈로그 카탈로그, 스키마 및 테이블을 업그레이드할 각 Hive 테이블에 매핑하는 CSV 파일을 만드는 명령입니다. 마이그레이션 워크플로를 진행하기 전에 매핑 파일을 검토하고 업데이트해야 합니다.
  • 이 작업 영역의 create-uber-principal 테이블에서 사용하는 모든 스토리지에 대한 읽기 전용 액세스 권한이 있는 서비스 주체를 만드는 명령입니다. 워크플로 작업 컴퓨팅 리소스는 이 보안 주체를 사용하여 작업 영역의 테이블을 업그레이드합니다. 업그레이드가 완료되면 이 서비스 주체의 프로비전을 해제합니다.
  • (선택 사항) principal-prefix-access 작업 영역의 Hive 테이블에서 사용하는 스토리지 계정 및 스토리지 액세스 자격 증명을 식별하는 명령입니다.
  • (선택 사항) 로 migrate-credentials 식별되는 스토리지 액세스 자격 증명에서 Unity Catalog 스토리지 자격 증명을 principal-prefix-access만드는 명령입니다.
  • (선택 사항) 평가 migration locations 워크플로로 식별되는 스토리지 위치에서 만든 스토리지 자격 증명 migrate-credentials을 사용하여 Unity 카탈로그 외부 위치를 만드는 명령입니다.
  • (선택 사항) create-catalogs-schemas업그레이드된 테이블을 저장할 Unity 카탈로그 및 스키마를 만드는 명령입니다.

추가 테이블 마이그레이션 워크플로 명령 및 옵션을 비롯한 자세한 내용은 UCX 추가 정보에서 테이블 마이그레이션 명령을 참조하세요.

테이블 마이그레이션 실행

준비 작업을 실행한 후에는 UCX에서 생성된 추가 정보 Notebook 또는 작업 영역 UI의 워크플로 작업에서 테이블 마이그레이션 워크플로 > 를 실행할 수 있습니다.

각 워크플로 작업의 출력은 설치 중에 지정한 스키마의 $inventory_database 델타 테이블에 저장됩니다. 이러한 테이블을 사용하여 추가 분석 및 의사 결정을 수행할 수 있습니다. 모든 테이블이 성공적으로 업그레이드되도록 테이블 마이그레이션 워크플로를 여러 번 실행해야 할 수 있습니다.

전체 테이블 마이그레이션 지침은 UCX에서 생성된 추가 정보 Notebook 및 UCX 추가 정보에서 테이블 마이그레이션 워크플로 를 참조하세요.

추가 도구

UCX에는 마이그레이션에 성공하는 데 도움이 되는 디버깅 도구 및 기타 유틸리티도 포함되어 있습니다. 자세한 내용은 UCX에서 생성된 추가 정보 Notebook 및 UCX 프로젝트 추가 정보를 참조하세요.

UCX 설치 업그레이드

UCX 프로젝트는 정기적으로 업데이트됩니다. UCX 설치를 최신 버전으로 업그레이드하려면 다음을 수행합니다.

  1. UCX가 설치되어 있는지 확인합니다.

    databricks labs installed
    
    Name  Description                            Version
    ucx   Unity Catalog Migration Toolkit (UCX)  0.20.0
    
  2. 업그레이드를 실행합니다.

    databricks labs upgrade ucx
    

도움말 보기

UCX CLI에 대한 도움말을 보려면 다음을 실행합니다.

databricks labs ucx --help

특정 UCX 명령에 대한 도움말을 보려면 다음을 실행합니다.

databricks labs ucx <command> --help

문제를 해결하려면 다음을 수행합니다.

문제 또는 기능 요청을 제출하려면 GitHub 문제를 제출합니다.

UCX 릴리스 정보

UCX GitHub 리포지토리의 변경 로그를 참조하세요.