

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 파티셔닝 힌트
<a name="partitioning-hints"></a>

파티셔닝 힌트는 실행기 노드 간의 데이터 분산을 제어합니다. 여러 파티셔닝 힌트가 지정되면 여러 노드가 논리적 계획에 삽입되지만 최적화 프로그램이 가장 왼쪽에 있는 힌트를 선택합니다.

### COALESCE
<a name="coalesce-hint"></a>

파티션 수를 지정된 파티션 수로 줄입니다.

*파라미터:* 숫자 값(필수) - 1\$12147483647 사이의 양의 정수여야 합니다.

*예*:

```
-- Reduce to 5 partitions
SELECT /*+ COALESCE(5) */ employee_id, salary
FROM employees;
```

### REPARTITION
<a name="repartition-hint"></a>

지정된 파티셔닝 표현식을 사용하여 지정된 수의 파티션으로 데이터를 재파티션합니다. 라운드 로빈 배포를 사용합니다.

*파라미터:*
+ 숫자 값(선택 사항) - 파티션 수. 1\$12147483647 사이의 양의 정수여야 합니다.
+ 열 식별자(선택 사항) - 분할 기준 열입니다. 이러한 열은 입력 스키마에 있어야 합니다.
+ 둘 다 지정하면 숫자 값이 먼저 와야 합니다.

*예*:

```
-- Repartition to 10 partitions
SELECT /*+ REPARTITION(10) */ *
FROM employees;

-- Repartition by column
SELECT /*+ REPARTITION(department) */ *
FROM employees;

-- Repartition to 8 partitions by department
SELECT /*+ REPARTITION(8, department) */ *
FROM employees;

-- Repartition by multiple columns
SELECT /*+ REPARTITION(8, department, location) */ *
FROM employees;
```

### REPARTITION\$1BY\$1RANGE
<a name="repartition-by-range-hint"></a>

지정된 열에서 범위 파티셔닝을 사용하여 지정된 수의 파티션으로 데이터를 재파티션합니다.

*파라미터:*
+ 숫자 값(선택 사항) - 파티션 수. 1\$12147483647 사이의 양의 정수여야 합니다.
+ 열 식별자(선택 사항) - 분할 기준 열입니다. 이러한 열은 입력 스키마에 있어야 합니다.
+ 둘 다 지정하면 숫자 값이 먼저 와야 합니다.

*예*:

```
SELECT /*+ REPARTITION_BY_RANGE(10) */ *
FROM employees;

-- Repartition by range on age column
SELECT /*+ REPARTITION_BY_RANGE(age) */ *
FROM employees;

-- Repartition to 5 partitions by range on age
SELECT /*+ REPARTITION_BY_RANGE(5, age) */ *
FROM employees;

-- Repartition by range on multiple columns
SELECT /*+ REPARTITION_BY_RANGE(5, age, salary) */ *
FROM employees;
```

### 재분배
<a name="rebalance-hint"></a>

쿼리 결과 출력 파티션을 리밸런싱하여 모든 파티션의 크기가 적절한지(너무 작지도 크지도 않음) 확인합니다. 이는 최선의 작업입니다. 스큐가 있는 경우 AWS Clean Rooms 는 스큐된 파티션을 분할하여 너무 크지 않도록 합니다. 이 힌트는 너무 작거나 큰 파일을 방지하기 위해 쿼리 결과를 테이블에 작성해야 하는 경우에 유용합니다.

*파라미터:*
+ 숫자 값(선택 사항) - 파티션 수. 1\$12147483647 사이의 양의 정수여야 합니다.
+ 열 식별자(선택 사항) - SELECT 출력 목록에 열이 나타나야 합니다.
+ 둘 다 지정하면 숫자 값이 먼저 와야 합니다.

*예*:

```
-- Rebalance to 10 partitions
SELECT /*+ REBALANCE(10) */ employee_id, name
FROM employees;

-- Rebalance by specific columns in output
SELECT /*+ REBALANCE(employee_id, name) */ employee_id, name
FROM employees;

-- Rebalance to 8 partitions by specific columns
SELECT /*+ REBALANCE(8, employee_id, name) */ employee_id, name, department
FROM employees;
```