Azure Databricks er et buzzword, som er svært at komme udenom for tiden – men hvad er det egentlig, og hvad bruges det til?

Hvad er Databricks og Azure Databricks?

Databricks, som er udviklet af grundlæggerne af Apache Spark, er en end-to-end (fra udvikling til produktion) webbaseret analyseplatform, der gør det nemt at kombinere Big Data, Data Science og Apache Spark.

I 2017 indgik Microsoft og Databricks under navnet Azure Databricks et samarbjede,der har gjort det muligt at have en fuldt integreret Databricks-platform i sit Azure-miljø. Dette samarbejde mellem Azure som Cloud udbyder, og Databricks, som Apache Spark platform, gør det muligt at lade den enorme regnekraft fra Databricks indgå i et fuldt integreret cloudmiljø, hvor de mange services snakker samme sprog og nu også med Databricks frameworket.

Apache Spark

Apache Spark er et open source distributed cluster computing framework startet i 2013, som gennem de seneste år i mange situationer er blevet en af de foretrukne platforme for Artificial Inteligence og real-time applikationer. Men hvad betyder det egentligt at være et ”open source distributed cluster computing framework”?

Med open source menes software, hvor kildekoden er frit tilgængelig til brug og bidrag. I dette tilfælde drejer det sig om Scala, som Apache Spark er bygget på.

Med distributed cluster computing menes, at de programmer, man eksekverer, bliver behandlet (distribueret) på en gruppe af computere (et cluster).
Man kan sige, at man bryder et større problem ned i mindre problemer, og lader hver enkelt node (computer) i sit cluster samtidigt håndtere en mindre bid af opgaven og derfor når man meget hurtigere frem til resultatet.

Denne fordeling (mapping) af opgaverne til de ledige noder samt sammenlægning af de individuelle resultater (reducing) sker automatisk og giver i de fleste tilfælde meget store fordele tidsmæssigt, når man arbejder med meget store datamængder.

Databricks og Azure Databricks funktioner

Databricks er grundlæggende skabt med henblik på, at det skal være nemt at arbejde med. Løsningen indeholder derfor en hel del brugervenlige funktioner:

  • Databricks egen Notebook som fungerer som Databricks’ egen IDE (Interactive Development Environment)
  • Direkte visualiseringer i Notebooken
  • Integration med Github og Bitbucket
  • Et internt dashboard forbundet til din Notebook
  • Direkte schedulering af den enkelte Notebook
  • Mulighed for at skifte frit mellem sprogene R, Python, SQL og Scala – selv i samme Notebook

En af de store styrker ved samarbejdet mellem Azure og Databricks er, at man har en Apache Spark-platform, der er fuldt integreret med alle de kendte komponenter fra Azure så som Azure Data Factory og Azure Blob Storage, hvilket giver mulighed for sammenhængende pipelines i hvert projekt.

Et relateret vigtigt aspekt i Databricks er muligheden for at rollefordele forskellige profiler, hvilket gør det nemmere og mere sikkert for forskellige profiler, så som Data Engineers og Data Scientist at arbejde sammen på de enkelte projekter i Databricksmiljøet.

Databricks har også muligheden for Auto-Scaling af dine ressourcer. Med dette menes, at du kan have et cluster, der automatisk tilpasser sig til, hvad du har brug for på det givne tidspunkt. Generelt er hele clusteraspektet håndteret af Databricks, hvilket gør det nemt at komme i gang med Cluster Computing selv for nybegyndere. Når man når et mere avanceret niveau i arbejdet med spark, er der også muligheder for at overvåge sine programmer direkte fra Databricks til optimering af disse.

Eksempler på brug af Databricks

Udover den generelle fordel ved at have et nemt overblik over sine pipelines og cluster computing-fordelen når man behandler meget store datamængder, kan vi her se på to eksempler, hvor Databricks specielt giver mening:

  • Opgaver der inkluderer brug af Machine Learning eller Deep Learning.
    Udover at have en nem og overskuelig integration til alle de store Machine Learning-biblioteker samt nødvendigheder, der kommer før og efter Machine Learning-udvikling, så har Databricks den fordel, at de meget store udregninger eller datamængder, der er ofte hører med Machine Learning og Deep Learning nemt kan blive orkestreret på din automatisk startede cluster.

  • Opgaver der inkluderer brug af real time streaming data så som IoT data fra maskiner
    Her kan man nemlig udnytte Databricks Apache Spark fundament, mere specifikt udvidelsen til Apache Sparks core API: Spark Streaming, som er er sat op til at arbejde med ofte brugte datakilder så som Kafka, HDFS og Twitter. Spark Streamning er desuden fuldt integreret i Databricks og meget nemt at opsætte og bruge.

Hvem får gavn af Databricks eller Azure Databricks?

Rigtig mange forskellige profiler kan få gavn af Databricks, men overordnet giver det mening, hvis du:

  • Har mange forskellige profiler, der arbejder sammen
  • Har brug for at kunne håndtere forespørgsler i meget varierende mængder
  • Arbejder med meget store datamængder og/eller meget tunge udregninger
  • Gerne vil have alt samlet ét sted med et brugervenligt design og set-up
  • Direkte schedulering af den enkelte Notebook
  • Mulighed for at skifte frit mellem sprogene R, Python, SQL og Scala – selv i samme Notebook

Vil du vide mere?

Kontakt os hvis du vil vide mere om Databricks og hvordan du kan bruge det i din virksomhed.

Måske kunne det her også være interessant for dig: