Co je Photon?

Tento článek vysvětluje výhody spouštění úloh v dotazovacím stroji Photon.

Photon je vysoce výkonný vektorizovaný dotazovací modul nativní pro Azure Databricks, který spouští úlohy SQL a volání rozhraní DataFrame API rychleji, aby se snížily celkové náklady na každou úlohu. Photon je kompatibilní s rozhraními Apache Spark API, takže funguje s vaším existujícím kódem.

Funkce Photon

Tady jsou klíčové funkce a výhody používání Photonu.

  • Podpora operací SQL a ekvivalentních datových rámců s tabulkami Delta a Parquet
  • Zrychlené dotazy, které zpracovávají data rychleji a zahrnují agregace a spojení.
  • Rychlejší výkon při opakovaném přístupu k datům z mezipaměti disku.
  • Robustní výkon prohledávání tabulek s mnoha sloupci a mnoha malými soubory
  • Rychlejší delta a parquet psaní pomocí UPDATE, , MERGE INTODELETE, INSERTa , a CREATE TABLE AS SELECT, včetně širokých tabulek, které obsahují tisíce sloupců.
  • Nahradí spojení sort-merge za hash-joins.
  • U úloh AI a ML vylepšuje Photon výkon pro aplikace využívající Spark SQL, Spark DataFrames, analýzu funkcí, GraphFrames a xgboost4j.

Povolení foton

Povolení foton se liší podle typu výpočetních prostředků:

  • Photon běží ve výchozím nastavení ve službě SQL Warehouse a bezserverové výpočetní prostředky pro poznámkové bloky a pracovní postupy.

  • Photon je ve výchozím nastavení povolený pro výpočty, na kterých běží Databricks Runtime 9.1 LTS a novější.

  • Photon je možné povolit ručně na výpočetních prostředcích, na kterých běží Databricks Runtime 15.2 pro Machine Learning nebo novější.

Konfigurace povolení Photon

Pokud chcete povolit nebo zakázat Funkci Photon na výpočetních funkcích a výpočetních úlohách, zaškrtněte políčko Použít akceleraci photon ve výpočetním uživatelském rozhraní.

Photon není ve výchozím nastavení povolen pro žádné výpočetní prostředky vytvořené pomocí rozhraní API clusterů nebo rozhraní API úloh. Chcete-li povolit Photon, musíte nastavit runtime_engine atribut na PHOTON.

Podporované typy instancí

Photon podporuje řadu typů instancí na ovladačích a pracovních uzlech. Typy instancí Photon spotřebovávají jednotky DBU jinou rychlostí než stejný typ instance, na kterém běží modul runtime bez photon. Další informace o instancích Photon a spotřebě DBU najdete na stránce s cenami Azure Databricks.

Podporované operátory, výrazy a datové typy

Následují operátory, výrazy a datové typy, které Photon pokrývá.

Operátory

  • Skenování, filtrování, projekt
  • Hash Aggregate/Join/Shuffle
  • Spojení vnořené smyčky
  • Anti join pracující s hodnotou null
  • Union, Expand, ScalarSubquery
  • Jímka pro zápis Delta/Parquet
  • Sort
  • Funkce Window

Výrazy

  • Porovnání / logika
  • Aritmetika / matematika (většina)
  • Podmíněné (IF, CASE atd.)
  • Řetězec (běžné)
  • Předvádí
  • Agregace (nejběžnější)
  • Datum a časové razítko

Datové typy

  • Bajt/ Krátký/Int/Long
  • Logická hodnota
  • Řetězec/binární
  • Desetinné číslo
  • Plovoucí/dvojitá
  • Datum a časové razítko
  • Struktura
  • Pole
  • Mapovat

Funkce, které vyžadují Photon

Níže jsou uvedené funkce, které vyžadují Photon.

Omezení

  • Strukturované streamování: Photon v současné době podporuje bezstavové streamování pomocí Delta, Parquet, CSV a JSON. Při zápisu do jímky Delta nebo Parquet se podporuje bezstavové streamování Kafka a Kinesis.
  • Photon nepodporuje UDF ani rozhraní RDD API.
  • Photon nemá vliv na dotazy, které se obvykle spouštějí za méně než dvě sekundy.

Pokud vaše úloha dosáhne nepodporované operace, výpočetní prostředek se přepne na modul runtime Standard pro zbytek úlohy.