이 문서에서는 향상된 자동 크기 조정을 사용하여 Azure Databricks에서 파이프라인을 최적화하는 방법을 설명합니다.
향상된 자동 크기 조정은 기본적으로 모든 새 파이프라인에 대해 사용하도록 설정됩니다. 서버리스 파이프라인은 수직 자동 크기 조정도 사용합니다. 세로 자동 크기 조정이란?을 참조하세요.
서버리스 파이프라인의 경우 향상된 자동 크기 조정은 항상 설정되어 있으며 사용하지 않도록 설정할 수 없습니다. 서버리스 파이프라인 구성을 참조하세요.
향상된 자동 크기 조정이란?
Databricks의 향상된 자동 크기 조정은 파이프라인의 데이터 처리 대기 시간에 미치는 영향을 최소화하면서 워크로드 볼륨에 따라 클러스터 리소스를 자동으로 할당하여 클러스터 사용률을 최적화합니다.
향상된 자동 크기 조정은 다음 기능을 사용하여 Azure Databricks 클러스터 자동 크기 조정 기능을 향상시킵니다.
- 향상된 자동 크기 조정은 스트리밍 워크로드의 최적화를 구현하고 향상된 기능을 추가하여 일괄 처리 워크로드의 성능을 향상시킵니다. 향상된 자동 크기 조정은 워크로드가 변경될 때 컴퓨터를 추가하거나 제거하여 비용을 최적화합니다.
- 향상된 자동 크기 조정은 사용률이 저조한 노드를 사전에 종료하는 동시에 종료하는 동안 실패한 작업이 없음을 보장합니다. 기존 클러스터 자동 크기 조정 기능은 노드가 유휴 상태인 경우에만 노드를 축소합니다.
향상된 자동 크기 조정은 파이프라인 UI에서 새 파이프라인을 만들 때 기본 자동 크기 조정 모드입니다. UI에서 파이프라인 설정을 편집하여 기존 파이프라인에 대해 향상된 자동 크기 조정을 사용하도록 설정할 수 있습니다. 파이프라인 REST API를 사용하여 파이프라인을 만들거나 편집할 때 향상된 자동 크기 조정을 사용하도록 설정할 수도 있습니다.
강화 또는 축소 결정을 내리기 위해 향상된 자동 크기 조정을 사용하는 메트릭은 무엇인가요?
향상된 자동 크기 조정은 두 가지 메트릭을 사용하여 스케일 업 또는 스케일 다운을 결정합니다.
- 작업 슬롯 사용률: 클러스터 사용할 수 있는총 작업 슬롯에 작업 슬롯 수의 평균 비율입니다.
- 작업 큐 크기: 작업 슬롯에서 실행되기를 기다리는 작업의 수입니다.
파이프라인에 대해 향상된 자동 크기 조정 사용
향상된 자동 크기 조정은 파이프라인 UI에서 새 파이프라인을 만들 때 기본 자동 크기 조정 모드입니다. UI에서 파이프라인 설정을 편집하여 기존 파이프라인에 대해 향상된 자동 크기 조정을 사용하도록 설정할 수 있습니다. Lakeflow 파이프라인 편집기를 사용하여 파이프라인을 편집할 때 향상된 자동 크기 조정을 사용하도록 설정할 수도 있습니다.
향상된 자동 크기 조정을 사용하려면 다음 중 하나를 수행합니다.
- Lakeflow 파이프라인 편집기에서 파이프라인 설정을 편집할 때 클러스터 모드를 향상된 자동 크기 조정으로 설정합니다.
- 파이프라인 클러스터 구성에
autoscale설정을 추가하고mode필드를ENHANCED로 설정하십시오. 파이프라인에 대한 클래식 컴퓨팅 구성을 참조하세요.
프로덕션 파이프라인에 대해 향상된 자동 크기 조정을 구성할 때 다음 지침을 사용합니다.
-
Min workers설정을 기본값으로 둡니다. -
Max workers설정을 예산 및 파이프라인 우선 순위에 따라 값으로 설정합니다.
다음 예제에서는 최소 5명의 작업자와 최대 10명의 작업자로 향상된 자동 크기 조정 클러스터를 구성합니다.
max_workers
min_workers보다 크거나 같아야 합니다.
비고
- 향상된 자동 크기 조정은
updates클러스터에만 사용할 수 있습니다. 레거시 자동 크기 조정은maintenance클러스터에 사용됩니다. -
autoscale구성에는 두 가지 모드가 있습니다.-
LEGACY: 클러스터 자동 크기 조정사용합니다. -
ENHANCED: 향상된 자동 크기 조정을 사용합니다.
-
{
"clusters": [
{
"autoscale": {
"min_workers": 5,
"max_workers": 10,
"mode": "ENHANCED"
}
}
]
}
파이프라인이 연속 실행을 위해 구성된 경우 자동 크기 조정 구성이 변경된 후 자동으로 다시 시작됩니다. 다시 시작한 후에는 짧은 기간의 대기 시간이 늘어납니다. 짧은 대기 시간 증가에 따라 autoscale 구성에 따라 클러스터 크기를 업데이트해야 하며 파이프라인 대기 시간은 이전 대기 시간 특성으로 돌아가야 합니다.
향상된 자동 크기 조정을 사용하는 파이프라인에 대한 비용 제한
비고
서버리스 파이프라인에 대한 작업자를 구성할 수 없습니다.
파이프라인 컴퓨팅 창에서 Max worker 매개 변수를 설정하면 자동 크기 조정에 대한 상한이 설정됩니다. 사용 가능한 작업자 수를 줄이면 일부 워크로드의 대기 시간이 늘어나지만 계산 집약적인 작업 중에 컴퓨팅 리소스 비용이 버스트되지 않도록 방지할 수 있습니다.
Databricks는 특정 요구 사항에 맞춰 비용-지연 시간 상충 관계를 균형 있게 조정하기 위해 Max workers 설정을 조정하는 것을 권장합니다.
최대 작업자를 설정할 수 있습니다.
향상된 자동 크기 조정 기능이 활성화된 클래식 파이프라인 모니터링
파이프라인 사용자 인터페이스에서 이벤트 로그를 사용하여 클래식 파이프라인에 대한 향상된 자동 크기 조정 메트릭을 모니터링할 수 있습니다. 향상된 자동 크기 조정 이벤트에는 autoscale 이벤트 유형이 있습니다. 다음은 예제 이벤트입니다.
| Event | Message |
|---|---|
| 클러스터 크기 조정 요청 시작됨 | Scaling [up or down] to <y> executors from current cluster size of <x> |
| 클러스터 크기 조정 요청 성공 | Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED |
| 클러스터 크기 조정 요청이 부분적으로 성공함 | Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED |
| 클러스터 크기 조정 요청 실패 | Achieved cluster size <x> for cluster <cluster-id> with status FAILED |
이벤트 로그직접 쿼리하여 향상된 자동 크기 조정 이벤트를 볼 수도 있습니다.
- 백로그 메트릭에 대한 이벤트 로그를 쿼리하려면 스트리밍 기간을 최적화하기 위해 데이터 백로그 모니터링을 참조하세요.
- 향상된 자동 크기 조정 작업 중에 클러스터 크기 조정 요청 및 응답을 모니터링하려면 클래식 컴퓨팅 최적화를 위한 자동 크기 조정 이벤트 모니터링을 참조하세요.
수직 자동 크기 조정이란?
서버리스 파이프라인은 메모리 부족 오류로 인해 실패하지 않고 파이프라인을 실행할 수 있는 가장 비용 효율적인 인스턴스 유형을 자동으로 할당하여 Databricks에서 제공하는 수평 자동 크기 조정에 추가됩니다. 수직 자동 크기 조정은 파이프라인 업데이트를 실행하기 위해 더 큰 인스턴스 유형이 필요할 때 확장되며, 더 작은 인스턴스 형식으로 업데이트를 실행할 수 있다고 결정할 때 축소됩니다. 수직 자동 크기 조정은 드라이버 노드, 작업자 노드 또는 드라이버 및 작업자 노드를 모두 확장하거나 축소해야 하는지 여부를 결정합니다.
세로 자동 크기 조정은 Databricks SQL 구체화된 뷰 및 스트리밍 테이블에서 사용하는 파이프라인을 포함하여 모든 서버리스 파이프라인에 사용됩니다.
수직 자동 크기 조정은 메모리 부족 오류로 인해 실패한 파이프라인 업데이트를 검색하여 작동합니다. 수직 자동 크기 조정은 실패한 업데이트에서 수집된 메모리 부족 데이터를 기반으로 이러한 오류가 검색될 때 더 큰 인스턴스 유형을 할당합니다. 프로덕션 모드에서는 새 컴퓨팅 리소스를 사용하는 새 업데이트가 자동으로 시작됩니다. 개발 모드에서는 새 업데이트를 수동으로 시작할 때 새 컴퓨팅 리소스가 사용됩니다.
세로 자동 크기 조정에서 할당된 인스턴스의 메모리가 지속적으로 활용도가 낮다는 것을 감지하면 다음 파이프라인 업데이트에 사용할 인스턴스 유형을 축소합니다.