Dela via


Vad är Photon?

Den här artikeln beskriver fördelarna med att köra dina arbetsbelastningar på Photon-frågemotorn.

Photon är en högpresterande Azure Databricks-inbyggd vektoriserad frågemotor som kör dina SQL-arbetsbelastningar och DataFrame API-anrop snabbare för att minska din totala kostnad per arbetsbelastning. Photon är kompatibelt med Apache Spark-API:er, så det fungerar med din befintliga kod.

Fotonfunktioner

Följande är viktiga funktioner och fördelar med att använda Photon.

  • Stöd för SQL och motsvarande DataFrame-åtgärder med Delta- och Parquet-tabeller.
  • Accelererade frågor som bearbetar data snabbare och inkluderar aggregeringar och kopplingar.
  • Snabbare prestanda när data används upprepade gånger från diskcachen.
  • Robust genomsökningsprestanda på tabeller med många kolumner och många små filer.
  • Snabbare Delta- och Parquet-skrivning med hjälp av UPDATE, DELETE, MERGE INTO, INSERToch CREATE TABLE AS SELECT, inklusive breda tabeller som innehåller tusentals kolumner.
  • Ersätter sorteringskopplingar med hash-kopplingar.
  • För AI- och ML-arbetsbelastningar förbättrar Photon prestanda för program med hjälp av Spark SQL, Spark DataFrames, funktionsteknik, GraphFrames och xgboost4j.

Aktivering av foton

Aktivering av foton varierar beroende på beräkningstyp:

Konfigurera photon-aktivering

Om du vill aktivera eller inaktivera Foton för all-purpose och jobbberäkning markerar du kryssrutan Använd fotonacceleration i beräkningsgränssnittet.

Photon är inte aktiverat som standard på någon beräkning som skapats med kluster-API:et eller jobb-API:et. Om du vill aktivera Photon måste du ange runtime_engine attributet till PHOTON.

Instanstyper som stöds

Photon stöder ett antal instanstyper på drivrutins- och arbetsnoderna. Photon-instanstyper använder DBU:er med en annan hastighet än samma instanstyp som kör körningen som inte är photon. Mer information om Photon-instanser och DBU-förbrukning finns på prissättningssidan för Azure Databricks.

Operatorer, uttryck och datatyper som stöds

Följande är operatorer, uttryck och datatyper som Photon omfattar.

Operatorer

  • Genomsökning, filter, projekt
  • Hash-aggregering/koppling/blandning
  • Kapslad loopkoppling
  • Null-medveten antikoppling
  • Union, Expand, ScalarSubquery
  • Delta/Parquet skrivmottagare
  • Sortera
  • Fönsterfunktion

Uttryck

  • Jämförelse/logik
  • Aritmetik/matematik (mest)
  • Villkorsstyrd (IF, CASE osv.)
  • Sträng (vanliga)
  • Kastar
  • Aggregeringar (de vanligaste)
  • Datum/tidsstämpel

Datatyper

  • Byte/Short/Int/Long
  • Booleskt
  • Sträng/binär
  • Decimal
  • Flyttal/dubbel
  • Datum/tidsstämpel
  • Struct-datatyp
  • Matris
  • Mappning

Funktioner som kräver foton

Följande är funktioner som kräver Foton.

Begränsningar

  • Strukturerad direktuppspelning: Photon stöder för närvarande tillståndslös strömning med Delta, Parquet, CSV och JSON. Tillståndslös Kafka- och Kinesis-strömning stöds när du skriver till en Delta- eller Parquet-mottagare.
  • Photon stöder inte UDF:er eller RDD-API:er.
  • Foton påverkar inte frågor som normalt körs på under två sekunder.

Om din arbetsbelastning drabbar en åtgärd som inte stöds växlar beräkningsresursen till standardkörningsmotorn för resten av arbetsbelastningen.