Delen via


Apache Spark op Azure Databricks

Apache Spark vormt het hart van het Azure Databricks Data Intelligence Platform en is de technologie die rekenclusters en SQL-warehouses mogelijk maakt. Azure Databricks is een geoptimaliseerd platform voor Apache Spark dat een efficiënt en eenvoudig platform biedt voor het uitvoeren van Apache Spark-workloads.

Wat is de relatie tussen Apache Spark en Azure Databricks?

Het Databricks-bedrijf is opgericht door de oorspronkelijke makers van Apache Spark. Als opensource-softwareproject heeft Apache Spark bijdragers van veel topbedrijven, waaronder Databricks.

Databricks blijft functies ontwikkelen en vrijgeven voor Apache Spark. De Databricks Runtime, die Azure Databricks mogelijk maakt, bevat aanvullende optimalisaties en eigen functies die bouwen op Apache Spark, inclusief Photon, een geoptimaliseerde uitvoeringslaag die kan worden gebruikt in combinatie met Spark. Databricks Photon is ontworpen om te werken met en de prestaties van Apache Spark-workloads te verbeteren. Photon verbetert de prestaties van Spark door query's en andere bewerkingen te vectoriseren, waardoor sql- en DataFrame-API-bewerkingen sneller kunnen worden uitgevoerd.

Hoe is Databricks geoptimaliseerd voor Apache Spark?

In Apache Spark worden alle bewerkingen gedefinieerd als transformaties of acties.

  • Transformaties: voeg enkele verwerkingslogica toe aan het plan. Voorbeelden hiervan zijn het lezen van gegevens, joins, aggregaties en typecasting.
  • Acties: verwerkingslogica activeren om een resultaat te evalueren en uit te voeren. Voorbeelden zijn schrijfbewerkingen, het weergeven of bekijken van resultaten, handmatig opslaan in cache of het ophalen van het aantal rijen.

Apache Spark maakt gebruik van een luie uitvoeringsmodel , wat betekent dat geen van de logica die is gedefinieerd door een verzameling bewerkingen wordt geëvalueerd totdat een actie wordt geactiveerd. Als u onnodige evaluatie van logica wilt voorkomen, gebruikt u alleen acties om resultaten weer op te slaan in een doeltabel.

Omdat acties een verwerkingsknelpunt vormen voor het optimaliseren van logica, heeft Azure Databricks talloze optimalisaties toegevoegd bovenop de optimalisaties die al aanwezig zijn in Apache Spark om optimale logica-uitvoering te garanderen. Deze optimalisaties beschouwen alle transformaties die door een bepaalde actie tegelijk worden geactiveerd en vinden het optimale plan op basis van de fysieke indeling van de gegevens. Het handmatig opslaan van gegevens of het retourneren van preview-resultaten in productiepijplijnen kan deze optimalisaties onderbreken en leiden tot hogere kosten en latentie.

Hoe werkt Apache Spark in Azure Databricks?

Wanneer u een rekencluster of SQL Warehouse implementeert in Azure Databricks, wordt Apache Spark geconfigureerd en geïmplementeerd op virtuele machines. U hoeft geen Spark-context of Spark-sessie te configureren of initialiseren, omdat deze voor u worden beheerd door Azure Databricks.

Kan ik Azure Databricks gebruiken zonder Apache Spark te gebruiken?

Ja. Azure Databricks ondersteunt verschillende workloads en bevat opensource-bibliotheken in de Databricks Runtime. Databricks SQL maakt gebruik van Photon onder de schermen, maar eindgebruikers kunnen Spark SQL-syntaxis gebruiken om databaseobjecten met Photon te maken en er query's op uit te voeren.

Databricks Runtime voor Machine Learning is geoptimaliseerd voor ML-workloads en veel gegevenswetenschappers gebruiken primaire opensourcebibliotheken zoals TensorFlow en SciKit Learn terwijl ze aan Azure Databricks werken. U kunt jobs gebruiken om willekeurige workloads in te plannen voor rekenresources die zijn geïmplementeerd en beheerd door Azure Databricks.

Waarom Apache Spark gebruiken in Azure Databricks?

Het Databricks-platform biedt een veilige, samenwerkingsomgeving voor het ontwikkelen en implementeren van bedrijfsoplossingen die schalen met uw bedrijf. Databricks-medewerkers omvatten veel van de meest deskundige Apache Spark-onderhouders en -gebruikers ter wereld. Het bedrijf ontwikkelt en publiceert voortdurend nieuwe optimalisaties om ervoor te zorgen dat gebruikers toegang hebben tot de snelste omgeving voor het uitvoeren van Apache Spark.

Hoe kom ik meer te weten over het gebruik van Apache Spark in Azure Databricks?

Als u aan de slag wilt met Apache Spark in Azure Databricks, duikt u meteen in. In de zelfstudie over Apache Spark DataFrames wordt uitgelegd hoe u gegevens laadt en transformeert in Python, R of Scala. Zie zelfstudie: Gegevens laden en transformeren met Apache Spark DataFrames.

Kijk voor extra informatie over taalondersteuning voor Python, R en Scala in Spark naar PySpark in Azure Databricks, sparklyr, Azure Databricks voor Scala-ontwikkelaars, en in Naslaginformatie voor Apache Spark API's.