Foton

Viktigt

Den här funktionen finns som allmänt tillgänglig förhandsversion.

Photon är den inbyggda vektoriserade frågemotorn på Azure Databricks, skriven för att vara direkt kompatibel med Apache Spark-API:er så att den fungerar med din befintliga kod. Den har utvecklats i C++ för att dra nytta av modern maskinvara och använder de senaste teknikerna inom vektoriserad frågebearbetning för att dra nytta av parallellitet på data- och instruktionsnivå i processorer, vilket förbättrar prestanda på verkliga data och program – allt inbyggt i din datasjö. Photon är en del av en högpresterande körning som kör dina befintliga SQL- och DataFrame API-anrop snabbare och minskar den totala kostnaden per arbetsbelastning.

Aktivering av foton beror på om du använder Azure Databricks kluster eller Databricks SQL slutpunkter.

Azure Databricks kluster

För att få åtkomst till Photon på Azure Databricks-kluster måste du uttryckligen välja en körning som innehåller Photon när du skapar klustret, antingen med hjälp av användargränssnittet eller API:erna (Clusters API 2.0 och Jobs API 2.1, och ange med hjälp av syntaxen ). Photon är tillgängligt för kluster som kör Databricks Runtime 8.3 och Databricks Runtime 8.3 Photon och högre.

Photon stöder en begränsad uppsättning instanstyper på drivrutins- och arbetsnoderna. Photon-instanstyper förbrukar DBUs i en annan takt än samma instanstyp som kör icke-Photon-körningen. Mer information om Photon-instanser och DBU-förbrukning finns Azure Databricks sidan med prissättning.

Databricks SQL slutpunkter

Photon är aktiverat som standard i Databricks SQL slutpunkter. Du kan bekräfta att Photon är aktiverat för en SQL-slutpunkt genom att klicka på ikonen SlutpunkterSQL-slutpunkter i sidopanelen, välja slutpunkten och kontrollera att värdet för Photon är .

Fördelar

Följande sammanfattar fördelarna med Photon:

  • Stöder SQL och motsvarande DataFrame-åtgärder mot Delta- och Parquet-tabeller.
  • Förväntas påskynda frågor som bearbetar en betydande mängd data (100 GB+) och inkluderar sammansättningar och kopplingar.
  • Snabbare prestanda när data används upprepade gånger från Delta-cachen.
  • Mer robusta genomsökningsprestanda för tabeller med många kolumner och många små filer.
  • Snabbare skrivning av Delta och Parquet med hjälp av , , , och , särskilt UPDATEDELETE för breda tabeller MERGE INTOINSERTCREATE TABLE AS SELECT (hundratusentals kolumner).
  • Ersätter sort-merge-kopplingar med hash-kopplingar.

Begränsningar

  • Fungerar endast på Delta- och Parquet-tabeller för både läsning och skrivning.
  • Stöder inte fönster- och sorteringsoperatorer
  • Stöder inte Spark Structured Streaming.
  • Stöder inte UDF:er.
  • Förväntas inte förbättra kortvariga frågor ( < 2 sekunder), till exempel frågor mot små mängder data.

Funktioner som inte stöds av Photon körs på samma sätt som med Databricks Runtime; det finns ingen prestandafördel för dessa funktioner.