Photon이란?
이 문서에서는 Photon 쿼리 엔진에서 워크로드를 실행할 때의 이점에 대해 설명합니다.
Photon은 SQL 워크로드와 DataFrame API 호출을 더 빠르게 실행하여 워크로드당 총 비용을 줄여주는 고성능 Azure Databricks 기반 벡터화 쿼리 엔진입니다. Photon은 Apache Spark API와 호환되므로 기존 코드와 함께 사용할 수 있습니다.
Photon 기능
다음은 Photon을 사용할 때의 주요 기능과 이점입니다.
- Delta 및 Parquet 테이블을 사용하여 SQL 및 이에 상응하는 DataFrame 작업을 지원합니다.
- 데이터를 더 빠르게 처리하고 집계 및 조인을 포함하는 가속화된 쿼리입니다.
- 디스크 캐시에서 데이터에 반복적으로 액세스할 때 성능이 향상됩니다.
- 많은 열과 많은 작은 파일이 있는 테이블에서 검사 성능이 강력해집니다.
- 수천 개의 열이 포함된 넓은 테이블을 포함하여
UPDATE
,DELETE
,MERGE INTO
,INSERT
및CREATE TABLE AS SELECT
을(를) 사용하여 더 빠르게 Delta 및 Parquet 쓰기가 가능합니다. - 정렬 병합 조인을 해시 조인으로 바꿉니다.
- AI 및 ML 워크로드의 경우, Photon은 Spark SQL, Spark DataFrames, 기능 엔지니어링, GraphFrames 및 xgboost4j를 사용하여 응용 프로그램의 성능을 향상시킵니다.
Photon 사용
Photon 사용은 컴퓨팅 유형에 따라 다릅니다.
Photon은 기본적으로 SQL 웨어하우스에서 실행되고 Notebook 및 워크플로에 대한 서버리스 컴퓨팅이 실행됩니다.
Photon은 Databricks Runtime 9.1 LTS 이상을 실행하는 컴퓨팅에서 기본적으로 사용됩니다.
Photon은 기계 학습을 위한 Databricks Runtime 15.2 이상을 실행하는 컴퓨팅에서 수동으로 활성화할 수 있습니다.
Photon 사용 구성
다목적 및 작업 컴퓨팅에서 Photon을 사용하거나 사용 중지하려면 컴퓨팅 UI에서 Photon 가속 사용 확인란을 선택합니다.
Photon은 클러스터 API 또는 작업 API를 사용하여 생성된 모든 컴퓨팅에서 기본적으로 활성화되지 않습니다. Photon을 사용하려면 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 등)
- 문자열(일반 문자열)
- 캐스트
- 집계(가장 일반적인 집계)
- 날짜/타임스탬프
데이터 형식
- 바이트/Short/Int/Long
- Boolean
- 문자열/이진
- 소수
- Float/Double
- 날짜/타임스탬프
- 구조체
- 배열
- 지도
Photon이 필요한 기능
다음은 Photon이 필요한 기능입니다.
- 읽기 및 쓰기를 위한 예측 I/O입니다. 예측 I/O란?을 참조하세요.
- H3 지리 공간 식입니다. H3 지리 공간적 함수를 참조하세요.
- 동적 파일 잘라내기 동적 파일 정리를 참조하세요.
제한 사항
- 구조적 스트리밍: Photon은 현재 델타, Parquet, CSV 및 JSON을 사용한 상태 비저장 스트리밍을 지원합니다. Delta 또는 Parquet 싱크에 쓸 때 상태 없는 Kafka 및 Kinesis 스트리밍이 지원됩니다.
- Photon은 UDF 또는 RDD API를 지원하지 않습니다.
- Photon은 일반적으로 2초 내에 실행되는 쿼리에는 영향을 미치지 않습니다.
워크로드가 지원되지 않는 작업에 직면하면 컴퓨팅 리소스는 나머지 워크로드에 대해 표준 런타임 엔진으로 전환됩니다.