Photon이란?
적용 대상: Databricks SQL Databricks Runtime 9.1 이상
Photon에서 워크로드를 실행하는 이점, 지원하는 기능 및 Photon을 사용하거나 사용하지 않도록 설정하는 방법에 대해 알아봅니다. Photon은 Databricks SQL Warehouse에서 기본적으로 켜져 있으며 Apache Spark API와 호환되므로 기존 코드에서 작동합니다.
Photon은 무엇을 위해 사용됩니까?
Photon은 SQL 워크로드 및 DataFrame API 호출을 더 빠르게 실행하여 워크로드당 총 비용을 줄이는 고성능 Azure Databricks 네이티브 벡터화된 쿼리 엔진입니다.
다음은 Photon을 사용할 때의 주요 기능과 이점입니다.
- 델타 및 Parquet 테이블을 사용하여 SQL 및 동등한 DataFrame 작업을 지원합니다.
- 데이터를 더 빠르게 처리하고 집계 및 조인을 포함하는 가속화된 쿼리입니다.
- 디스크 캐시에서 데이터에 반복적으로 액세스할 때 성능이 향상됩니다.
- 열이 많고 작은 파일이 많은 테이블에서 강력한 검색 성능
- 수천 개의 열이 포함된 넓은 테이블을 포함하여 ,
DELETE
,INSERT
MERGE INTO
및 를 사용하여UPDATE
델타 및CREATE TABLE AS SELECT
Parquet 쓰기를 더 빠르게 수행합니다. - 정렬 병합 조인을 해시 조인으로 바꿉니다.
Photon 시작
Photon은 Databricks Runtime 9.1 LTS 이상을 실행하는 클러스터에서 기본적으로 사용하도록 설정됩니다.
클러스터에서 Photon을 수동으로 사용하지 않도록 설정하거나 사용하도록 설정하려면 클러스터를 만들거나 편집할 때 Photon Acceleration 검사 사용 상자를 선택합니다.
클러스터 API를 사용하여 클러스터를 만드는 경우 .로 설정합니다 runtime_engine
PHOTON
.
인스턴스 유형
Photon은 드라이버 및 작업자 노드에서 여러 인스턴스 유형을 지원합니다. Photon 인스턴스 유형은 Photon이 아닌 런타임을 실행하는 동일한 인스턴스 유형과 다른 속도로 DBU를 소비합니다. Photon 인스턴스 및 DBU 사용에 대한 자세한 내용은 Azure Databricks 가격 책정 페이지를 참조하세요.
연산자, 식 및 데이터 형식
다음은 Photon에서 다루는 연산자, 식 및 데이터 형식입니다.
연산자
- 검사, 필터, 프로젝트
- 해시 집계/조인/순서 섞기
- Nested-Loop 조인
- Null-Aware 안티 조인
- Union, Expand, ScalarSubquery
- Delta/Parquet 쓰기 싱크
- 정렬
- Window Function
식
- 비교/논리
- 산술/수학(대부분)
- 조건부(IF, CASE 등)
- 문자열(일반 문자열)
- 캐스트
- 집계(가장 일반적인 집계)
- 날짜/타임스탬프
Data types
- 바이트/Short/Int/Long
- 부울
- 문자열/이진
- 소수
- Float/Double
- 날짜/타임스탬프
- 구조체
- 배열
- 지도
Photon이 필요한 기능
다음은 Photon이 필요한 기능입니다.
- 읽기 및 쓰기를 위한 예측 I/O입니다. 예측 I/O란?을 참조하세요.
- H3 지리 공간 식입니다. H3 지리 공간적 함수를 참조하세요.
- 동적 파일 정리. 동적 파일 정리를 참조하세요.
제한 사항
- 구조적 스트리밍: Photon은 현재 Delta, Parquet, CSV 및 JSON을 사용하여 상태 비스테이션 스트리밍을 지원합니다. 상태 비저장 Kafka 및 Kinesis 스트리밍은 델타 또는 Parquet 싱크에 쓸 때 지원됩니다.
- Photon은 UDF 또는 RDD API를 지원하지 않습니다.
- Photon은 일반적으로 2초 미만으로 실행되는 쿼리에 영향을 주지 않습니다.
Photon에서 지원하지 않는 기능은 Databricks Runtime에서와 동일한 방식으로 실행됩니다.