세션 속성 매니저

세션 속성 매니저 (Session property managers)

관리자는 세션 속성을 추가해서 워크로드의 일부 하위 집합에 대한 동작을 제어할 수 있어요.

출처: 문서

본문

관리자는 워크로드의 하위 집합에 대한 동작을 제어하기 위해 세션 속성을 추가할 수 있어요. 이 속성은 기본값이며, 권한이 있는 사용자는 덮어쓸 수 있어요. 세션 속성은 리소스 사용을 제어하고, 기능을 활성화·비활성화하고, 쿼리 특성을 바꾸는 데 쓸 수 있어요. 세션 속성 매니저는 플러그형(pluggable)이에요.

JSON 설정 파일을 읽는 내장 매니저를 활성화하려면 다음 내용으로 etc/session-property-config.properties 파일을 추가하세요:

session-property-config.configuration-manager=file
session-property-manager.config-file=etc/session-property-config.json

JSON 설정 파일(etc/session-property-config.json)은 다음과 같은 구조예요:

[
  {
    "group": "global.*",
    "sessionProperties": {
      "query_max_execution_time": "8h"
    }
  },
  {
    "group": "global.interactive.*",
    "sessionProperties": {
      "query_max_execution_time": "1h"
    }
  },
  {
    "group": "global.pipeline.*",
    "clientTags": ["etl"],
    "sessionProperties": {
      "scale_writers": "true",
      "hive.insert_existing_partitions_behavior": "overwrite"
    }
  }
]

group은 쿼리에 적용할 속성을 결정하는 정규 표현식이에요. clientTags는 클라이언트가 제공한 태그로 매칭할 때 사용해요. 매칭되는 그룹에 따라 sessionProperties의 기본값이 해당 쿼리에 적용돼요.

더 알아보기 (Learn more)

리소스 그룹으로 큐와 리소스를 관리하는 방법이 궁금하다면 리소스 그룹(Resource groups) 문서를 이어서 읽어 보세요.