리소스 그룹 속성

콘솔에서 다운로드할 수 있는 샘플 리소스 그룹 파일과 일치하도록 리소스 그룹 JSON 파일의 형식을 지정할 수 있습니다.

다음 섹션에서는 구성할 수 있는 리소스 그룹 속성에 대해 설명합니다.

기본 특성

기본 특성
특성 이름 유형 필수/선택사항 설명
rootGroups 배열 필수 리소스 그룹에 대한 사양을 정의합니다.
selectors 배열 필수 리소스 그룹에 대한 선택기 구성을 지정합니다.
cpuQuotaPeriod 문자열 선택사항 CPU 할당량 기간을 지정합니다. 이 속성은 ^\d+(.\d+)?[smhd]$ 패턴과 일치해야 합니다.

rootGroups properties

rootGroups 속성
특성 이름 유형 필수/선택사항 설명
name 문자열 필수 리소스 그룹의 이름. 이름에 {, } 또는 $ 이 포함된 경우 이름은 ${([a-zA-Z][a-zA-Z0-9]*)} 패턴으로 작성해야 합니다. 이름에 공백을 사용할 수 있습니다. 이름에는 마침표(.)를 포함할 수 없습니다. 두 형제 그룹에 동일한 이름을 사용할 수 없습니다. 루트 그룹과 하위 그룹에 같은 이름을 사용할 수 있습니다.
softMemoryLimit 문자열 필수 소프트 메모리 제한을 지정합니다. 최소값: 0%. 최대 값: 999%.
maxQueued 정수 선택사항 대기 중인 최대 요청 수를 지정합니다. 최소값: 0. 최대값: 2147483647. 값은 0 로 시작하지 않아야 합니다. 예: 01, 05. 값을 1, 5 로 지정합니다. 0 만 유효한 값입니다.
softConcurrencyLimit 정수 또는 null 선택사항 소프트 동시성 제한을 지정합니다. 최소값: 0. 최대값: 2147483647. 값은 0 로 시작하지 않아야 합니다. 예: 01, 05. 값을 1, 5 로 지정합니다. 0 만 유효한 값입니다.
maxRunning 정수 또는 null 선택사항 최대 실행 횟수를 지정합니다. 최소값: 0. 최대값: 2147483647. 값은 0 로 시작하지 않아야 합니다. 예: 01, 05. 값을 1, 5 로 지정합니다. 0 만 유효한 값입니다.
hardConcurrencyLimit 정수 필수(maxRunning 값을 사용할 수 있는 경우 hardConcurrencyLimit 가 해당 값을 차지합니다. maxRunning 이 설정되지 않은 경우 hardConcurrencyLimit 의 값을 설정해야 합니다.) 하드 동시성 제한을 지정합니다. 최소값: 0. 최대값: 2147483647. 값은 softConcurrencyLimit 크거나 같아야 합니다. 0 로 시작하지 않아야 합니다. 예: 01, 05. 값을 1, 5 으로 지정합니다. 0 만 유효한 값입니다.
schedulingPolicy 문자열(사용 가능한 값은 다음과 같습니다: fair, weighted, weighted_fair, query_priority. 이러한 값은 대소문자를 구분하지 않습니다.) 선택사항 스케줄링 정책을 지정합니다.
schedulingWeight 정수 또는 null 선택사항 스케줄링 가중치를 지정합니다. 허용되는 값(최소값~최대값): 1 ~ 2147483647. 값은 0 로 시작하지 않아야 합니다. 예: 01, 05. 값을 1, 5 로 지정합니다. 0 만 유효한 값입니다. 하위 그룹에 schedulingWeight 이 있는 경우 해당 하위 그룹에 해당하는 모든 형제자매는 schedulingWeight 이 있어야 합니다.
subGroups 배열 또는 널 선택사항 리소스 그룹 내의 하위 그룹을 지정합니다. 하위 그룹은 리소스 그룹에서와 마찬가지로 서로 다른 속성에 대해 동일한 규칙을 갖습니다.
jmxExport 부울 또는 널 선택사항 JMX 내보내기가 활성화되었는지 여부를 나타냅니다.
softCpuLimit 문자열 선택사항 소프트 CPU 제한을 지정합니다. 패턴 ^\d+(.\d+)?[smhd]$ 과 일치해야 합니다. hardCpuLimit 가 정의되어 있는 경우 softCpuLimit 의 값은 hardCpuLimit 보다 작거나 같아야 합니다.
hardCpuLimit 문자열 선택사항 하드 CPU 제한을 지정합니다. 패턴 ^\d+(.\d+)?[smhd]$ 과 일치해야 합니다.
perQueryLimits 오브젝트 선택사항 쿼리별 한도를 지정합니다. 예시 "perQueryLimits": { "executionTimeLimit": "30m", "totalMemoryLimit": "2GB", "cpuTimeLimit": "1h" }. 개체는 다음 제한 사항 중 하나, 둘 또는 세 가지를 가질 수 있습니다. 다음 한도에는 음수 값이 허용되지 않습니다. 1. executionTimeLimit (유형: 문자열, 패턴: 이 속성은 패턴 ^\d+(.\d+)?[smhd]$ 과 일치해야 합니다.), 2. totalMemoryLimit (유형: 문자열, 패턴: 이 속성은 패턴 ^\s*(\d+(?:.\d+)?)\s*([a-zA-Z]+)\s*$ 과 일치해야 합니다.), 3. cpuTimeLimit (유형: 문자열, 패턴: 이 속성은 패턴 ^\d+(.\d+)?[smhd]$ 과 일치해야 합니다.)
workersPerQueryLimit 정수 또는 null 선택사항 쿼리당 작업자 제한을 지정합니다. 허용되는 값(최소~최대): -2147483648 ~ 2147483647. 값은 softConcurrencyLimit 크거나 같아야 합니다. 0 로 시작하지 않아야 합니다. 예: 01, 05. 값을 1, 5 으로 지정합니다. 0 만 유효한 값입니다.

selectors properties

선택기 속성
특성 이름 유형 필수/선택사항 설명
user 문자열 또는 null(문자열에는 유효한 정규식(.*)을 사용할 수 있습니다) 선택사항 사용자 정규식 패턴을 지정합니다.
source 문자열 또는 null(문자열에는 유효한 정규식(.*)을 사용할 수 있습니다) 선택사항 소스 정규식 패턴을 지정합니다.
queryType 문자열 또는 널입니다. (사용 가능한 값은 data_definition, delete, describe, explain, analyze, insert, select, controlupdate 입니다. 이 값은 대소문자를 구분하지 않습니다.) 선택사항 쿼리 유형을 지정합니다.
clientTags 문자열 목록 또는 null(예시: "clientTags": ["resourceGroup1","resourceGroup2"]. storageStrings에는 유효한 정규식(.*)을 사용할 수 있습니다.) 선택사항 클라이언트 태그를 지정합니다.
selectorResourceEstimate 객체 또는 널 선택사항 선택기 리소스 추정치를 지정합니다. 예제 "selectorResourceEstimate": {"executionTime": {"min": "5m", "max": "10m"}, "cpuTime": {"min": "30m", "max": "1h"}, "peakMemory": {"min": "512MB", "max": "2GB"}}. 객체는 한 가지, 두 가지 또는 세 가지 제한을 가질 수 있습니다. 세 가지 제한 모두에 대해 min, max 또는 두 매개 변수를 모두 사용할 수도 있습니다. 예: "selectorResourceEstimate": {"executionTime": {"min": "5m"}. 모든 한도에는 음수 값이 허용되지 않습니다. 한도에 대한 자세한 내용은 selectorResourceEstimate 한도 를 참조하세요.
clientInfo 문자열 또는 null(문자열에는 유효한 정규식(.*)을 사용할 수 있습니다) 선택사항 클라이언트 정보 정규식 패턴을 지정합니다.
schema 문자열 또는 null(문자열에는 유효한 정규식(.*)을 사용할 수 있습니다) 선택사항 스키마를 지정합니다.
principal 문자열 또는 null(문자열에는 유효한 정규식(.*)을 사용할 수 있습니다) 선택사항 주요 정규식 패턴을 지정합니다.
group 문자열 필수 그룹 이름은 리소스 그룹에서 사용 가능한 이름 중 하나이어야 합니다. 하위 그룹으로 리디렉션하려면 "group": "groupname.subgroupname" 을 사용합니다. 루트 그룹 이름에 사용되는 ${SOURCE}, ${USER}, ${SCHEMA} 와 같은 동적 값을 사용할 수도 있습니다. null 에는 group 을 사용할 수 없습니다.

sourceuser 정규식에서는 제공된 이름을 (?<sampleName>.*) 형식의 동적 그룹 이름으로 사용할 수 있습니다. 예를 들어, 다음과 같습니다.

{
            "source": "(?<sampleName>.*)",
            "clientTags": [
                "hipri"
            ],
            "group": "bi-${sampleName}"
}and there is a group as ,{
            "name": "bi-${sampleName}",
            "softMemoryLimit": "80%",
            "hardConcurrencyLimit": 100,
            "maxQueued": 1000,
            "schedulingPolicy": "weighted",
            "jmxExport": true
}

이 예에서 sampleName 은 동적 값입니다. 이름에는 특수 문자를 사용할 수 없습니다. ${SOURCE}, ${USER} 또는 ${SCHEMA} 와 같은 다른 값을 추가할 수 있습니다. 그룹 이름은 대소문자를 구분합니다. 동적 변수 앞뒤에 값을 가질 수 있습니다. 예: abc-${SOURCE} 또는 ${toolname}-xyz.

selectorResourceEstimate 한계

  • executionTime

    • min: 속성 유형은 문자열입니다. 이 속성은 ^\\d+(\\.\\d+)?[smhd]$ 패턴과 일치해야 합니다.
    • max: 속성 유형은 문자열입니다. 이 속성은 ^\\d+(\\.\\d+)?[smhd]$ 패턴과 일치해야 합니다.
  • peakMemory

    • min: 속성 유형은 문자열입니다. 이 속성은 ^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$ 패턴과 일치해야 합니다.
    • max 속성 유형은 문자열입니다. 이 속성은 ^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$ 패턴과 일치해야 합니다.
  • cpuTime

    • min: 속성 유형은 문자열입니다. 이 속성은 ^\\d+(\\.\\d+)?[smhd]$ 패턴과 일치해야 합니다.
    • max: 속성 유형은 문자열입니다. 이 속성은 ^\\d+(\\.\\d+)?[smhd]$ 패턴과 일치해야 합니다.

cpuQuotaPeriod properties

선택기 속성
특성 이름 유형 필수/선택사항 설명
cpuQuotaPeriod 문자열 선택사항 CPU 할당량 기간을 지정합니다. 이 속성은 ^\d+(\.\d+)?[smhd]$ 패턴과 일치해야 합니다