Azure의 클라우드 규모 분석 내에서 Azure Databricks 사용

Azure Databricks는 Microsoft Azure Cloud Services 플랫폼에 대해 최적화된 데이터 분석 플랫폼입니다. Azure Databricks는 데이터 집약적 애플리케이션을 개발하기 위해 다음과 같은 두 가지 환경을 제공합니다.

  • Azure Databricks SQL을 사용하면 데이터 레이크에서 빠른 임시 SQL 쿼리를 실행할 수 있습니다.

  • Azure Databricks 데이터 과학 & 엔지니어링(단순히 "작업 영역"이라고도 함)은 Apache Spark를 기반으로 하는 분석 플랫폼입니다. 이는 Azure와 통합되어 데이터 엔지니어, 데이터 과학자, 기계 학습 엔지니어가 협업할 수 있도록 하는 대화형 작업 영역, 간소화된 워크플로 및 원클릭 설정을 제공합니다.

클라우드 규모 분석을 위해 Azure Databricks 데이터 과학 및 엔지니어링에 집중하겠습니다.

개요

배포하는 모든 데이터 랜딩 존에는 두 개의 공유 작업 영역을 배포할 수 있는 옵션이 있습니다. 하나는 데이터 독립적 수집용이고 다른 하나는 분석을 위한 것입니다.

  • 수집 및 처리를 위한 Azure Databricks 엔지니어링 작업 영역은 Azure 서비스 주체를 통해 Azure Data Lake에 연결합니다. 데이터 독립적 수집에 의해 호출됩니다.
  • Azure Databricks 분석 작업 영역은 모든 데이터 과학자 및 데이터 운영 팀에 프로비전될 수 있습니다. 이 작업 영역은 Microsoft Entra 통과 인증을 사용하여 Azure Data Lake에 연결합니다. 데이터 랜딩 존에서 Azure Databricks 분석 및 데이터 과학 작업 영역을 작업 영역에 액세스할 수 있는 모든 사용자와 공유합니다.

자동화된 데이터 독립적 수집 엔진이 있는 경우 Azure Databricks 엔지니어링 작업 영역은 원시에서 보강으로 데이터 수집 파이프라인을 실행하기 위해 Azure 메타데이터 리소스 그룹에 만들어진 Azure Key Vault 인스턴스를 모두 사용합니다.

Azure Databricks 분석 작업 영역에는 높은 동시성 클러스터를 만들도록 요구하는 클러스터 정책이 있어야 합니다. 이 유형의 클러스터를 사용하면 Microsoft Entra 자격 증명 통과를 사용하여 데이터 레이크를 탐색할 수 있습니다. 자세한 내용은 Azure Data Lake Storage의 액세스 제어 및 데이터 레이크 구성을 참조하세요.

Azure Databricks 구성

Azure Databricks 배포는 부분적으로는 Azure Resource Manager 템플릿 및 YAML 스크립트를 통해 매개 변수를 기반으로 하지만, 모든 작업 영역을 구성하려면 몇 가지 수동 개입이 필요합니다.

모든 Azure Databricks 작업 영역은 다음과 같은 필수 기능을 제공하는 프리미엄 플랜을 사용해야 합니다.

  • 최적화된 컴퓨팅 자동 스케일링
  • Microsoft Entra 자격 증명 통과 인증
  • 조건부 인증
  • Notebook, 클러스터, 작업 및 테이블에 대한 역할 기반 액세스 제어
  • 감사 로그

클라우드 규모 분석에 부합하도록 모든 작업 영역에서 다음과 같은 기본 배포 옵션을 구성하는 것이 좋습니다.

  • Azure Databricks 작업 영역은 데이터 방문 영역의 외부 Apache Hive 메타스토어 인스턴스에 연결합니다.
  • databricks-monitoring-rg에서 Azure Log Analytics에 Databricks 진단 로깅을 보내도록 각 작업 영역 구성
  • 일련의 규칙에 따라 클러스터를 만드는 기능을 제한하는 클러스터 정책을 구현합니다. 자세한 내용은 클러스터 정책 관리를 참조하세요.
    • 여러 클러스터 정책을 정의합니다. 온보딩 프로세스의 일부로 데이터 랜딩 존 운영 팀에서 사용할 각 대상 그룹 권한을 할당합니다. 기본적으로 클러스터 만들기 권한은 운영 팀에만 부여됩니다. 다른 팀 또는 그룹에는 클러스터 정책을 사용할 수 있는 권한이 부여됩니다.
    • 클러스터 정책을 Azure Databricks 풀과 함께 사용하여 유휴 상태의 즉시 사용 가능한 인스턴스 세트를 유지 관리하여 클러스터 시작 및 자동 스케일링 시간을 줄입니다. 자세한 내용은 을 참조하세요.
  • Azure Key Vault 인스턴스에서 SPN 자격 증명 및 연결 문자열과 같은 모든 Azure Databricks 운영 비밀을 검색합니다.
  • SCIM(System for Cross-domain Identity Management)에 사용할 작업 영역당 별도의 엔터프라이즈 애플리케이션을 구성합니다. Azure Databricks 작업 영역에 연결하여 각 작업 영역에 대한 액세스 및 권한을 제어합니다. 자세한 내용은 SCIM을 사용하여 사용자 및 그룹 프로비전 및 Microsoft Entra ID에 대한 SCIM 프로비저닝 구성을 참조하세요.

Warning

Azure Databricks SCIM 인터페이스를 사용하도록 Azure Databricks 작업 영역을 구성하지 않으면 보안 제어를 제공하는 방법에 영향을 줍니다. 자동화된 프로세스에서 수동 프로세스로 전환하고 모든 배포 CI/CD 파이프라인을 중단합니다.

모든 Databricks 작업 영역에 대해 다음과 같은 액세스 제어 옵션이 설정됩니다.

  • 작업 영역 가시성 제어: 사용(기본값: 사용 안 함)
  • 클러스터 가시성 제어: 사용(기본값: 사용 안 함)
  • 작업 가시성 제어: 사용(기본값: 사용 안 함)

Azure Databricks 분석 작업 영역에 대해 다음 옵션을 사용하도록 설정할 수 있습니다.

  • Notebook 내보내기: 사용 안 함(기본값: 사용)
  • Notebook 테이블 클립보드 기능: 사용 안 함(기본값: 사용)
  • 테이블 액세스 제어: 사용(기본값: 사용 안 함)
  • Microsoft Entra 조건부 액세스

Azure Databricks 배포

Azure Databricks 작업 영역을 새 데이터 랜딩 존 배포의 일부로 배포하는 경우 다음 이미지는 클라우드 규모 분석에서 Azure Databricks 환경을 배포하는 샘플 워크플로를 보여 줍니다.

Diagram of an Azure Databricks deployment into a data landing zone.

  1. 프로비저닝 프로세스는 먼저 Apache Hive 메타스토어 인스턴스가 데이터 랜딩 존에 있는지 확인합니다. Apache Hive 메타스토어를 찾지 못하면 프로세스가 종료되고 오류가 발생합니다.
  2. Apache Hive 메타스토어를 찾으면 작업 영역이 만들어집니다.
  3. 이 프로세스는 데이터 방문 영역에서 Log Analytics 작업 영역을 확인합니다. Log Analytics 작업 영역을 찾지 못하면 프로세스가 종료되고 오류가 발생합니다.
  4. 각 작업 영역에 대해 Microsoft Entra 애플리케이션을 만들고 SCIM을 구성합니다.

Azure Databricks 수집 작업 영역의 경우:

  1. 이 프로세스는 서비스 주체 액세스를 사용하여 작업 영역을 구성합니다.
  2. 데이터 플랫폼 운영 팀에서 정의한 데이터 엔지니어링 정책이 배포됩니다.
  3. 데이터 랜딩 존 운영 팀이 Databricks 풀 또는 클러스터를 요청한 경우 해당 풀 또는 클러스터가 배포 프로세스에 통합될 수 있습니다.
  4. 그러면 Azure Databricks 엔지니어링 작업 영역과 관련된 작업 영역 옵션을 사용할 수 있습니다.

Azure Databricks 분석 작업 영역의 경우:

  1. 이 프로세스는 데이터 플랫폼 운영 팀에서 정의한 데이터 분석 정책을 배포합니다.
  2. 데이터 랜딩 존 운영 팀이 Databricks 풀 또는 클러스터를 요청한 경우 해당 풀 또는 클러스터가 배포 프로세스에 통합될 수 있습니다.
  3. 그러면 Azure Databricks 엔지니어링 작업 영역과 관련된 작업 영역 옵션을 사용할 수 있습니다.

외부 Hive 메타스토어

Azure Databricks 작업 영역 배포의 경우:

  • 새 전역 init 스크립트는 모든 클러스터에 대해 Apache Hive 메타스토어 설정을 구성합니다. 이 스크립트는 새 전역 init 스크립트 API에 의해 관리됩니다.

새 전역 init 스크립트 API는 공개 미리 보기로 제공됩니다. Azure Databricks의 공개 미리 보기 기능은 프로덕션 환경에 사용할 준비가 되었으며 지원 팀에서 지원합니다. 자세한 내용은 Azure Databricks 미리 보기 릴리스를 참조하세요.

  • 이 솔루션은 Azure Database for MySQL을 사용하여 Apache Hive 메타스토어 인스턴스를 저장합니다. 이 데이터베이스는 비용 효율성 및 Apache Hive와의 높은 호환성 때문에 선택되었습니다.

다음 단계

클라우드 규모 분석에서는 Azure Databricks를 통합할 때 다음 지침을 고려합니다.