리소스 그룹 속성
콘솔에서 다운로드할 수 있는 샘플 리소스 그룹 파일과 일치하도록 리소스 그룹 JSON 파일의 형식을 지정할 수 있습니다.
다음 섹션에서는 구성할 수 있는 리소스 그룹 속성에 대해 설명합니다.
기본 특성
| 특성 이름 | 유형 | 필수/선택사항 | 설명 |
|---|---|---|---|
rootGroups |
배열 | 필수 | 리소스 그룹에 대한 사양을 정의합니다. |
selectors |
배열 | 필수 | 리소스 그룹에 대한 선택기 구성을 지정합니다. |
cpuQuotaPeriod |
문자열 | 선택사항 | CPU 할당량 기간을 지정합니다. 이 속성은 ^\d+(.\d+)?[smhd]$ 패턴과 일치해야 합니다. |
rootGroups properties
| 특성 이름 | 유형 | 필수/선택사항 | 설명 |
|---|---|---|---|
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, control 및 update 입니다. 이 값은
대소문자를 구분하지 않습니다.) |
선택사항 | 쿼리 유형을 지정합니다. |
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 을 사용할 수 없습니다. |
source 및 user 정규식에서는 제공된 이름을 (?<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 한계
-
executionTimemin: 속성 유형은 문자열입니다. 이 속성은^\\d+(\\.\\d+)?[smhd]$패턴과 일치해야 합니다.max: 속성 유형은 문자열입니다. 이 속성은^\\d+(\\.\\d+)?[smhd]$패턴과 일치해야 합니다.
-
peakMemorymin: 속성 유형은 문자열입니다. 이 속성은^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$패턴과 일치해야 합니다.max속성 유형은 문자열입니다. 이 속성은^\s*(\d+(?:\.\d+)?)\s*([a-zA-Z]+)\s*$패턴과 일치해야 합니다.
-
cpuTimemin: 속성 유형은 문자열입니다. 이 속성은^\\d+(\\.\\d+)?[smhd]$패턴과 일치해야 합니다.max: 속성 유형은 문자열입니다. 이 속성은^\\d+(\\.\\d+)?[smhd]$패턴과 일치해야 합니다.
cpuQuotaPeriod properties
| 특성 이름 | 유형 | 필수/선택사항 | 설명 |
|---|---|---|---|
| cpuQuotaPeriod | 문자열 | 선택사항 | CPU 할당량 기간을 지정합니다. 이 속성은 ^\d+(\.\d+)?[smhd]$ 패턴과 일치해야 합니다 |