Photon이란?

적용 대상:check marked yes Databricks SQL check marked yes 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, INSERTMERGE INTO및 를 사용하여 UPDATE델타 및 CREATE TABLE AS SELECTParquet 쓰기를 더 빠르게 수행합니다.
  • 정렬 병합 조인을 해시 조인으로 바꿉니다.

Photon 시작

Photon은 Databricks Runtime 9.1 LTS 이상을 실행하는 클러스터에서 기본적으로 사용하도록 설정됩니다.

클러스터에서 Photon을 수동으로 사용하지 않도록 설정하거나 사용하도록 설정하려면 클러스터를 만들거나 편집할 때 Photon Acceleration 검사 사용 상자를 선택합니다.

클러스터 API를 사용하여 클러스터를 만드는 경우 .로 설정합니다 runtime_enginePHOTON.

인스턴스 유형

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이 필요한 기능입니다.

제한 사항

  • 구조적 스트리밍: Photon은 현재 Delta, Parquet, CSV 및 JSON을 사용하여 상태 비스테이션 스트리밍을 지원합니다. 상태 비저장 Kafka 및 Kinesis 스트리밍은 델타 또는 Parquet 싱크에 쓸 때 지원됩니다.
  • Photon은 UDF 또는 RDD API를 지원하지 않습니다.
  • Photon은 일반적으로 2초 미만으로 실행되는 쿼리에 영향을 주지 않습니다.

Photon에서 지원하지 않는 기능은 Databricks Runtime에서와 동일한 방식으로 실행됩니다.