컴퓨팅 구성 권장 사항

이 문서에는 컴퓨팅 구성과 관련된 권장 사항 및 모범 사례가 포함되어 있습니다.

워크로드가 지원되는 경우 Databricks는 사용자 고유의 컴퓨팅 리소스를 구성하는 대신 서버리스 컴퓨팅을 사용하는 것이 좋습니다. 서버리스 컴퓨팅은 가장 간단하고 신뢰할 수 있는 컴퓨팅 옵션입니다. 구성이 필요하지 않으며 항상 사용 가능하며 워크로드에 따라 크기가 조정됩니다. 서버리스 컴퓨팅은 Notebook, 작업 및 델타 라이브 테이블에 사용할 수 있습니다. 서버리스 컴퓨팅에 연결을 참조하세요.

또한 데이터 분석가는 서버리스 SQL Warehouse를 사용하여 Databricks에서 데이터를 쿼리하고 탐색할 수 있습니다. 서버리스 SQL Warehouse란?을 참조하세요.

컴퓨팅 정책 사용

새 컴퓨팅을 처음부터 만드는 경우 Databricks는 컴퓨팅 정책을 사용하는 것이 좋습니다. 컴퓨팅 정책을 사용하면 개인 컴퓨팅, 공유 컴퓨팅, 파워 사용자 및 작업과 같은 특정 용도로 설계된 미리 구성된 컴퓨팅 리소스를 만들 수 있습니다. 정책은 컴퓨팅 설정을 구성할 때 수행해야 하는 결정을 제한합니다.

정책에 액세스할 수 없는 경우 작업 영역 관리자에게 문의하세요. 기본 정책 및 정책 패밀리를 참조하세요.

컴퓨팅 크기 조정 고려 사항

참고 항목

다음 권장 사항은 무제한 클러스터를 만든 것으로 가정합니다. 작업 영역 관리자는 고급 사용자에게만 이 권한을 부여해야 합니다.

사람들은 흔히 컴퓨팅 규모를 작업자 수로 생각하지만 고려해야 할 다른 중요한 요소도 있습니다:

  • 총 실행기 코어(컴퓨팅): 모든 실행기의 총 코어 수입니다. 이는 컴퓨팅의 최대 병렬도를 결정합니다.
  • 총 실행기 메모리: 모든 실행기의 총 RAM 양입니다. 이는 데이터를 디스크로 넘기기 전에 메모리에 저장할 수 있는 데이터의 양을 결정합니다.
  • 실행기 로컬 스토리지: 로컬 디스크 스토리지의 유형 및 양입니다. 로컬 디스크는 무작위 재생 및 캐싱 중 유출의 경우에 주로 사용됩니다.

추가 고려 사항에는 작업자 인스턴스 유형 및 크기가 포함되며 이는 위의 요소에도 영향을 줍니다. 컴퓨팅 크기를 조정할 때 다음을 고려합니다.

  • 워크로드는 얼마나 많은 데이터를 소비하나요?
  • 워크로드의 컴퓨팅 복잡성은 어느 정도인가요?
  • 어디에서 데이터를 읽고 있나요?
  • 데이터는 외부 스토리지에서 어떻게 분할되나요?
  • 얼마나 많은 병렬 처리가 필요하나요?

이러한 질문에 답하면 워크로드에 따라 최적의 컴퓨팅 구성을 결정하는 데 도움이 됩니다.

작업자 수와 작업자 인스턴스 유형의 크기 사이에는 균형이 있습니다. 각각 16개의 코어와 128GB의 RAM을 사용하여 두 명의 작업자로 컴퓨팅을 구성하는 것은 각각 4개의 코어와 32GB의 RAM을 사용하여 8명의 작업자로 컴퓨팅을 구성하는 것과 동일한 컴퓨팅 및 메모리를 줍니다.

컴퓨팅 구성 예제

다음 예는 특정 유형의 워크로드를 기반으로 하는 컴퓨팅 권장 사항을 보여 줍니다. 이러한 예에는 피해야 할 구성과 이러한 구성이 워크로드 유형에 적합하지 않은 이유도 포함됩니다.

참고 항목

이 섹션의 모든 예제(기계 학습 학습 외에)는 새 컴퓨팅 리소스를 회전하는 대신 서버리스 컴퓨팅을 사용하는 것이 좋습니다. 서버리스에서 워크로드가 지원되지 않는 경우 아래 권장 사항을 사용하여 컴퓨팅 리소스를 구성할 수 있습니다.

데이터 분석

데이터 분석가는 일반적으로 여러 파티션의 데이터가 필요한 처리를 수행하므로 많은 무작위 재생 작업이 발생합니다. 더 큰 노드 수가 적은 컴퓨팅 리소스를 사용하면 이러한 셔플을 수행하는 데 필요한 네트워크 및 디스크 I/O를 줄일 수 있습니다.

VM 유형이 큰 단일 노드 컴퓨팅은 특히 단일 분석가에게 가장 적합한 선택일 수 있습니다.

분석 워크로드는 동일한 데이터를 반복적으로 읽어야 할 가능성이 높으므로 권장 노드 유형은 디스크 캐시가 활성화된 스토리지 최적화 또는 로컬 스토리지가 있는 인스턴스입니다.

분석 워크로드에 권장되는 추가 기능은 다음과 같습니다.

  • 일정 시간 동안 비활성 상태가 되면 컴퓨팅이 종료되도록 자동 종료를 사용하도록 설정합니다.
  • 분석가의 일반적인 워크로드를 기반으로 자동 크기 조정을 사용하도록 설정하는 것이 좋습니다.

기본 일괄 처리 ETL

조인이나 집계와 같이 광범위한 변환이 필요하지 않은 간단한 배치 ETL 작업은 일반적으로 Photon의 이점을 누릴 수 있습니다. 따라서 Photon을 지원하는 범용 인스턴스를 선택합니다.

메모리 및 스토리지에 대한 요구 사항이 낮은 인스턴스는 다른 작업자 유형보다 비용을 절감할 수 있습니다.

복잡한 일괄 처리 ETL

여러 테이블에서 공용 구조체 및 조인이 필요한 작업과 같은 복잡한 ETL 작업의 경우 Databricks는 더 적은 수의 작업자를 사용하여 섞인 데이터의 양을 줄이는 것이 좋습니다. 작업자 수를 줄이도록 보상하려면 인스턴스의 크기를 늘입니다.

복잡한 변환은 계산 집약적일 수 있습니다. 디스크 또는 OOM 오류로 상당한 유출이 발생하는 경우 인스턴스에서 사용 가능한 메모리 양을 늘입니다.

필요에 따라 풀을 사용하여 컴퓨팅 시작 시간을 줄이고 작업 파이프라인을 실행할 때 총 런타임을 줄입니다.

기계 학습 모델 학습

기계 학습 모델을 학습시키기 위해 Databricks는 개인 컴퓨팅 정책을 사용하여 컴퓨팅 리소스를 만드는 것이 좋습니다.

기계 학습 모델을 학습하는 초기 실험을 위해 큰 노드 형식의 단일 노드 컴퓨팅을 사용해야 합니다. 노드 수가 적으면 순서 섞기의 영향을 줄일 수 있습니다.

작업자를 더 추가하면 안정성에 도움이 될 수 있지만 데이터 순서 섞기의 오버헤드로 인해 너무 많은 작업자를 추가하지 않아야 합니다.

권장되는 워커 유형은 디스크 캐싱이 활성화된 최적화된 스토리지 또는 동일한 데이터의 반복 읽기를 고려하고 학습 데이터의 캐싱을 활성화하기 위해 로컬 스토리지가 있는 인스턴스입니다.

기계 학습 워크로드에 권장되는 추가 기능은 다음과 같습니다.

  • 일정 시간 동안 비활성 상태가 되면 컴퓨팅이 종료되도록 자동 종료를 사용하도록 설정합니다.
  • 미리 승인된 인스턴스 유형으로 컴퓨팅을 제한할 수 있는 풀을 사용합니다.
  • 정책을 사용하여 일관된 컴퓨팅 구성을 보장합니다.