기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
조인 힌트
조인 힌트는 쿼리 실행을 위한 조인 전략을 제안합니다. 구문, 인수 및 일부 예제는 자세한 내용은 Apache Spark SQL 참조
브로드캐스트
브로드캐스트 조인을 AWS Clean Rooms 사용하는를 제안합니다. 힌트가 있는 조인 측은 autoBroadcastJoinThreshold와 관계없이 브로드캐스트됩니다. 조인의 양쪽에 브로드캐스트 힌트가 있는 경우 크기가 더 작은 조인(통계 기준)이 브로드캐스트됩니다.
별칭: BROADCASTJOIN, MAPJOIN
파라미터: 테이블 식별자(선택 사항)
예:
-- Broadcast a specific table SELECT /*+ BROADCAST(students) */ e.name, s.course FROM employees e JOIN students s ON e.id = s.id; -- Broadcast multiple tables SELECT /*+ BROADCASTJOIN(s, d) */ * FROM employees e JOIN students s ON e.id = s.id JOIN departments d ON e.dept_id = d.id;
MERGE
셔플 정렬 병합 조인을 AWS Clean Rooms 사용하는 제안을 합니다.
별칭: SHUFFLE_MERGE, MERGEJOIN
파라미터: 테이블 식별자(선택 사항)
예:
-- Use merge join for a specific table SELECT /*+ MERGE(employees) */ * FROM employees e JOIN students s ON e.id = s.id; -- Use merge join for multiple tables SELECT /*+ MERGEJOIN(e, s, d) */ * FROM employees e JOIN students s ON e.id = s.id JOIN departments d ON e.dept_id = d.id;
SHUFFLE_HASH
셔플 해시 조인을 AWS Clean Rooms 사용하는 방법을 제안합니다. 양쪽에 셔플 해시 힌트가 있는 경우 쿼리 옵티마이저는 더 작은 쪽(통계 기반)을 빌드 쪽으로 선택합니다.
파라미터: 테이블 식별자(선택 사항)
예:
-- Use shuffle hash join SELECT /*+ SHUFFLE_HASH(students) */ * FROM employees e JOIN students s ON e.id = s.id;
SHUFFLE_REPLICATE_NL
shuffle-and-replicate 중첩 루프 조인을 AWS Clean Rooms 사용하는 방법을 제안합니다.
파라미터: 테이블 식별자(선택 사항)
예:
-- Use shuffle-replicate nested loop join SELECT /*+ SHUFFLE_REPLICATE_NL(students) */ * FROM employees e JOIN students s ON e.id = s.id;
Spark SQL의 힌트 문제 해결
다음 표에는 SparkSQL에서 힌트가 적용되지 않는 일반적인 시나리오가 나와 있습니다. 자세한 내용은 고려 사항 및 제한 사항 섹션을 참조하세요.
| 사용 사례 | 쿼리 예제 |
|---|---|
| 테이블 참조를 찾을 수 없음 |
|
| 조인 작업에 참여하지 않는 테이블 |
|
| 중첩 하위 쿼리의 테이블 참조 |
|
| 테이블 참조 대신 열 이름 |
|
| 필수 파라미터가 없는 힌트 |
|
| 테이블 별칭 대신 기본 테이블 이름 |
|