Apache Spark på Azure Databricks
Den här artikeln beskriver hur Apache Spark är relaterat till Azure Databricks och Databricks Data Intelligence Platform.
Apache Spark är kärnan i Azure Databricks-plattformen och är tekniken som driver beräkningskluster och SQL-lager. Azure Databricks är en optimerad plattform för Apache Spark, vilket ger en effektiv och enkel plattform för att köra Apache Spark-arbetsbelastningar.
Spark-transformeringar och åtgärder
I Apache Spark definieras alla åtgärder som antingen transformeringar eller åtgärder.
- Transformeringar: lägg till viss bearbetningslogik i planen. Exempel är läsning av data, kopplingar, sammansättningar och typgjutning.
- Åtgärder: utlösa bearbetningslogik för att utvärdera och mata ut ett resultat. Exempel är skrivningar, visning eller förhandsgranskning av resultat, manuell cachelagring eller att få antalet rader.
Apache Spark använder en modell för lat körning, vilket innebär att ingen av den definierade logiken i en samling operationer utvärderas förrän en operation utlöses. För att undvika onödig utvärdering av logik använder du bara åtgärder för att spara resultat tillbaka till en måltabell.
Eftersom åtgärder representerar en flaskhals för bearbetning för att optimera logiken har Azure Databricks lagt till flera optimeringar utöver de som redan finns i Apache Spark för att säkerställa optimal logikkörning. Dessa optimeringar beaktar alla transformeringar som utlöses av en viss åtgärd samtidigt och hittar den optimala planen baserat på den fysiska layouten för data. Om du cachelagrar data manuellt eller returnerar förhandsgranskningsresultat i produktionspipelines kan dessa optimeringar avbrytas och leda till ökade kostnader och svarstider.
Vad är relationen mellan Apache Spark och Azure Databricks?
Databricks-företaget grundades av de ursprungliga skaparna av Apache Spark. Som ett öppen källkod programvaruprojekt har Apache Spark engagemang från många toppföretag, inklusive Databricks.
Databricks fortsätter att utveckla och släppa funktioner till Apache Spark. Databricks Runtime innehåller ytterligare optimeringar och egna funktioner som bygger på och utökar Apache Spark, inklusive Photon, en optimerad version av Apache Spark som skrivits om i C++.
Hur fungerar Apache Spark på Azure Databricks?
När du distribuerar ett beräkningskluster eller SQL-lager i Azure Databricks konfigureras och distribueras Apache Spark till virtuella datorer. Du behöver inte konfigurera eller initiera en Spark-kontext eller Spark-session eftersom dessa hanteras åt dig av Azure Databricks.
Kan jag använda Azure Databricks utan att använda Apache Spark?
Azure Databricks stöder en mängd olika arbetsbelastningar och innehåller öppen källkod bibliotek i Databricks Runtime. Databricks SQL använder Apache Spark under huven, men slutanvändarna använder SQL-standardsyntax för att skapa och fråga databasobjekt.
Databricks Runtime for Machine Learning är optimerat för ML-arbetsbelastningar och många dataexperter använder primära öppen källkod bibliotek som TensorFlow och SciKit Learn när de arbetar med Azure Databricks. Du kan använda jobb för att schemalägga godtyckliga arbetsbelastningar mot beräkningsresurser som distribueras och hanteras av Azure Databricks.
Varför ska du använda Apache Spark i Azure Databricks?
Databricks-plattformen ger en säker samarbetsmiljö för att utveckla och distribuera företagslösningar som skalas med din verksamhet. Databricks-anställda omfattar många av världens mest kunniga Apache Spark-underhållare och användare. Företaget utvecklar och släpper kontinuerligt nya optimeringar för att säkerställa att användarna kan komma åt den snabbaste miljön för att köra Apache Spark.
Hur kan jag lära mig mer om att använda Apache Spark i Azure Databricks?
Kom igång med Apache Spark i Azure Databricks genom att gå direkt in! Apache Spark DataFrames-handledningen går igenom hur man läser in och transformerar data i Python, R eller Scala. Se Självstudie: Läsa in och transformera data med Apache Spark DataFrames.
Ytterligare information om språkstöd för Python, R och Scala i Spark finns i avsnitten PySpark på Azure Databricks, SparkR-översikt och Azure Databricks för Scala-utvecklare samt i Referens för Apache Spark-API:er.