본문 바로가기
728x90

옵티마이저2

[Spark] Spark 실행 과정 by Catalyst Optimizer, Query plan 보는 법, Spark UI 보는 법 Query Plan을 보기에 앞서 Catalyst Optimzer에 대해 알아보고 Spark 코드의 실행 과정을 알아 보겠습니다. Catalyst Optimzer란?Spark SQL에서 쿼리 성능을 최적화하는 핵심 컴포넌트트리 기반의 강력한 쿼리 최적화 프레임워크로, 분석 및 실행 계획을 자동으로 최적화하여 Spark SQL, DataFrame, Dataset API의 성능을 극대화카탈리스트를 구성하는 주요 데이터 타입은 node object로 구성된 treeNode 타입의 속성TreeNode 클래스를 상속 받음0개 이상의 자식을 가질 수 있음immutabletansformation 함수를 통해 만들어짐 Rules새로운 Tree는 Tree를 다른 Tree로 변경(transformation)하는 Rule을.. 2022. 1. 12.
[DataBase] 옵티마이저(Optimizer)와 실행계획 옵티마이저란? •옵티마이저(Optimizer)는 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정하는 역할을 수행한다. 이러한 실행 방법을 실행계획(Execution Plan)이라고 한다. •JAVA, C등과 같은 프로그램 언어와는 달리 SQL은 사용자의 요구사항만 기술할 뿐 처리과정에 대한 기술은 하지 않는다. 사용자 요구사항을 만족하는 결과를 추출할 수 있는 다양한 실행 방법들 중에서 최적의 실행 방법을 결정하는 것이 바로 옵티마이저의 역할이다. •옵티마이저가 선택한 실행 방법의 적절성 여부는 질의의 수행 속도에 가장 큰 영향 미치게 된다. 최적의 실행 방법 결정이라는 것은 어떤 방법으로 처리하는 것이 최소 일량으로 동일한 일을 처리할 수 있을지 결정하는 것이다. •옵티마이저는 실제로 SQL문.. 2021. 1. 13.
728x90