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 INTO
DELETE
,INSERT
a , aCREATE 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.
- Prediktivní vstupně-výstupní operace pro čtení a zápis Podívejte se, co je prediktivní vstupně-výstupní operace?
- Geoprostorové výrazy H3 Viz geoprostorové funkce H3.
- Dynamické vyřezávání souborů Viz Dynamické vyřezávání souborů.
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.