Databricks

element61 is een gecertificeerde Databricks-partner en biedt end-to-end ondersteuning bij het opzetten, gebruiken en trainen van Databricks.

Databricks

Wat is Databricks?

Databricks is opgericht bij UC Berkeley AMPLab door het team dat Apache Spark heeft gemaakt, een cluster-computing framework dat nu vaak wordt gebruikt voor big data-verwerking en AI (en alternatief voor een Hadoop / MapReduce-systeem)
 
Databricks biedt een geïntegreerd platform dat het werken met Apache Spark vereenvoudigt. Via een geïntegreerde werkruimte kunnen gebruikers van Databricks samenwerken met Notebooks, gedeelde data-integraties en clusters opzetten en Databricks afstemmen op IT-beveiligings- en governanceprocedures (bijv. Active Directory-integratie, virtuele netwerkbeveiliging, toegangsregels, enz.). Binnen het Databricks-platform kunnen data-ingenieurs en data-wetenschappers realtime datapijplijnen opzetten, datamining uitvoeren, datataken plannen en nog veel meer.

Waarom Databricks?

Het opzetten van een geïntegreerd platform voor data engineers en data scientist om samen te werken is moeilijk. Hoewel veel organisaties lokaal beginnen met de ontwikkeling van Data Science op hun laptop of een virtuele machine, hebben organisaties die de kracht van AI omarmen op een bepaald moment zowel meer rekenkracht nodig alsook de mogelijkheid om echt samen te werken tussen teams. Databricks biedt een probleemloos platform dat zowel IT- als datagebruikers (ingenieurs en wetenschappers) een topplatform biedt.
 

een Unified Analytics-platform

Databricks biedt een geïntegreerd analyseplatform: vanaf webgebaseerde notebooks die worden beheerd op beheerde clusters, is het platform sindsdien voortdurend in ontwikkeling om een uniforme ervaring te bieden voor het uitvoeren van schaalbare data-engineering en data science in de cloud.
 
Databricks
 
In onderstaand overzicht schetsen we enkele belangrijke functionaliteiten van Databricks
 

Kracht van Apache Spark

Databricks is gebouwd bovenop Apache Spark, een open source gedistribueerd computerframework dat orkestreert dat berekeningen verspreid zijn over een cluster van computers. Omdat datavolumes groeien en berekeningen sneller en sneller moeten gaan, hebben organisaties behoefte aan clusterconcurrentie om te garanderen dat een datajob (of modeltraining) tijdig wordt uitgevoerd. Spark is vandaag het meest gebruikte cluster-berekeningsraamwerk voor zowel realtime, big data als AI.
 

Beheerde clusters

Clusters in Spark bestaan ??uit een stuurprogrammaknooppunt en - behalve uitzonderingen - een of meer uitvoerende knooppunten. De bestuurder verdeelt de taken over de verschillende uitvoerders en zorgt voor communicatie.
 
Clusters configureren, het aantal knooppunten omhoog of omlaag schalen volgens de vereiste capaciteit en ervoor zorgen dat deze clusters tijdens zware belastingen omhoog blijven, zijn niet-triviale taken. Databricks blinkt uit in het aanpakken van deze complexiteit en biedt de ontwikkelaar een omgeving die is voorbereid op data-ruzie. Bij het uitvoeren van een cluster worden de logs en Spark UI ook beschikbaar gesteld binnen het Databricks-platform voor foutopsporing of optimalisaties.
 
Indien nodig kunnen de standaard Spark-clusters verder worden aangepast door de gebruiker om functies toe te voegen, zoals automatisch schalen, automatisch beëindigen, initialisatiescripts, open source of klantbibliotheken.
 

Draait op Azure

Databricks kunnen op Azure of AWS worden uitgevoerd. In samenwerking met zowel wereldwijde cloudleveranciers als hun brede set van datacenters, kan Databricks zijn Unified Analytics Platform wereldwijd aanbieden. Azure Databricks is een Databricks-omgeving die wordt uitgevoerd op Azure's Cloud (computer- en netwerkinfrastructuur). Terwijl gebruikers gebruikmaken van Active Directory-integratie, pass-through-beveiliging, infrastructuur als code en nog veel meer geïntegreerde Azure-functies, ervaren eindgebruikers het als een native Azure-service met een volledig Apache Spark-platform (en meer).
 

Collaboratieve notebooks

Databricks is gebouwd rond het concept van een notebook voor het schrijven van code. Met notebooks kunnen ontwikkelaars code combineren met grafieken, opmaaktekst en zelfs afbeeldingen. Wat programmeertalen betreft, ondersteunt Databricks Python, Scala, R en SQL.
 
De voordelen van notebooks zijn talrijk. Ten eerste zijn notebooks een geweldige omgeving om een ??analyse in een uitgebreider verhaal in te sluiten door de code uit te breiden met de beschikbare grafieken en verklarende tekst. Ten tweede maakt werken in notebooks het gemakkelijk om met een team samen te werken. Ten slotte biedt Databricks ook de mogelijkheid om widgets in de notebooks op te nemen die kunnen worden gebruikt voor invoerparameters. Met behulp van deze widgets kan men beginnen met een notebook en de analyse aanpassen aan zijn of haar eigen veronderstellingen.
 

On-demand Spark Jobs

Databricks maakt het mogelijk om workloads als ‘jobs’ uit te voeren, zowel op aanvraag als volgens een bepaald schema. Op dit moment zijn er vier soorten taken: notebooks, spark jars, spark python of spark submit.
 
Hoewel notebooks geweldig zijn voor de bovengenoemde verkenningen en samenwerkingen, kan hun flexibiliteit en vrije vorm een ??last worden voor het overzetten van voltooide taken naar producties. In dit geval kan het verzenden van jars of bestanden een robuustere workflow zijn. De verschillende soorten taken kunnen worden gemaakt en ingepland met behulp van de uitgebreide gebruikersinterface of APIs
 

DevOps-integratie

Databricks ondersteunt DevOps volledig: door integratie met Git Databricks ondersteunt versiebeheer van Notebooks, via Azure's ARM-sjablonen ondersteunt Databricks infrastructuur-als-code. element61 heeft een best-practice opstelling opgezet om Databricks-notebooks en -taken continu te integreren en te implementeren in verschillende ontwikkel- en productieomgevingen.
 

Realtime en batch

Ondersteund door Spark, kan Databricks datagebruikers ondersteunen in zowel realtime pijplijnen (met behulp van Delta of Spark Streaming) of batchdatataken.
 
Een realtime pijplijn zou vereisen dat een Databricks-cluster 'altijd aan' staat, maar door de functies van automatisch opschalen op en neer kan het zowel pieken als perioden met weinig vraag efficiënt beheren. Gebruikers van Databricks kunnen, gebruikmakend van open-source Spark, het framework van hun keuze gebruiken, waaronder Spark Streaming, Spark Structured Streaming of Delta. Neem contact met ons op als u meer wilt weten over de voordelen van beide frameworks.