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
,INSERT
enCREATE 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 wordt standaard uitgevoerd op SQL-magazijnen en serverloze berekeningen voor notebooks en werkstromen.
Photon is standaard ingeschakeld voor berekeningen met Databricks Runtime 9.1 LTS en hoger.
Photon kan handmatig worden ingeschakeld voor berekeningen met Databricks Runtime 15.2 voor Machine Learning of hoger.
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.
- Voorspellende I/O voor lezen en schrijven. Zie Wat is voorspellende I/O?.
- Georuimtelijke H3-expressies. Zie georuimtelijke H3-functies.
- Dynamisch bestand verwijderen. Zie Dynamisch bestand verwijderen.
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.