Delen via


Wat is Photon?

In dit artikel worden de voordelen uitgelegd van het uitvoeren van uw workloads op de Photon-query-engine.

Photon is een krachtige azure Databricks-systeemeigen query-engine die uw SQL-workloads en DataFrame-API-aanroepen sneller uitvoert om de totale kosten per workload te verlagen. Photon is compatibel met Apache Spark-API's, zodat deze werkt met uw bestaande code.

Photon-functies

Hieronder vindt u belangrijke functies en voordelen van het gebruik van Photon.

  • Ondersteuning voor SQL- en equivalente DataFrame-bewerkingen met Delta- en Parquet-tabellen.
  • Versnelde query's waarmee gegevens sneller worden verwerkt en aggregaties en joins worden opgenomen.
  • Snellere prestaties wanneer gegevens herhaaldelijk worden geopend vanuit de schijfcache.
  • Robuuste scanprestaties voor tabellen met veel kolommen en veel kleine bestanden.
  • Snellere Delta- en Parquet-schrijffunctie met behulp van UPDATE, DELETE, MERGE INTO, INSERTen CREATE TABLE AS SELECT, inclusief brede tabellen die duizenden kolommen bevatten.
  • Hiermee vervangt u joins voor sorteren en samenvoegen door hash-joins.
  • Voor AI- en ML-workloads verbetert Photon de prestaties voor toepassingen met behulp van Spark SQL, Spark DataFrames, functie-engineering, GraphFrames en xgboost4j.

Photon-inschakeling

Het inschakelen van foton verschilt per rekentype:

Photon-inschakeling configureren

Als u Photon wilt in- of uitschakelen voor berekeningen voor alle doeleinden en taken, schakelt u het selectievakje PhotonVersnelling gebruiken in de rekeninterface in.

Photon is standaard niet ingeschakeld voor berekeningen die zijn gemaakt met de Clusters-API of taken-API. Als u Photon wilt inschakelen, moet u het runtime_engine kenmerk instellen op PHOTON.

Ondersteunde exemplaartypen

Photon ondersteunt een aantal exemplaartypen op de stuurprogramma- en werkknooppunten. Typen Foton-exemplaren verbruiken DBU's met een andere snelheid dan hetzelfde exemplaartype waarop de niet-Photon-runtime wordt uitgevoerd. Zie de pagina met prijzen van Azure Databricks voor meer informatie over Photon-exemplaren en DBU-verbruik.

Ondersteunde operators, expressies en gegevenstypen

Hier volgen de operators, expressies en gegevenstypen die door Photon worden behandeld.

Operators

  • Scannen, filteren, project
  • Hashaggregaties/samenvoegen/samenvoegen/willekeurige volgorde
  • Geneste lusdeelname
  • Null-Aware Anti Join
  • Union, Expand, ScalarSubquery
  • Delta/Parquet Write Sink
  • Sort
  • Venster, functie

Expressies

  • Vergelijking/logica
  • Rekenkundige/wiskunde (meest)
  • Voorwaardelijk (ALS, CASE, enzovoort)
  • Tekenreeks (algemene)
  • Werpt
  • Aggregaties (meest voorkomende)
  • Datum/tijdstempel

Data types

  • Byte/Short/Int/Long
  • Booleaanse waarde
  • Tekenreeks/binair
  • Decimal
  • Float/Double
  • Datum/tijdstempel
  • Struct
  • Matrix
  • Overzicht

Functies waarvoor Photon is vereist

Hieronder vindt u functies waarvoor Photon is vereist.

Beperkingen

  • Gestructureerd streamen: Photon ondersteunt momenteel stateless streaming met Delta, Parquet, CSV en JSON. Stateless Kafka- en Kinesis-streaming wordt ondersteund bij het schrijven naar een Delta- of Parquet-sink.
  • Photon biedt geen ondersteuning voor UDF's of RDD-API's.
  • Foton heeft geen invloed op query's die normaal gesproken binnen twee seconden worden uitgevoerd.

Als uw workload een niet-ondersteunde bewerking raakt, schakelt de rekenresource over naar de standaardruntime-engine voor de rest van de workload.