25 september 2017
Mede dankzij Gartner’s Magic Quadrant voor Data Science Platforms staat Dataiku sinds 2017 op de kaart. En hoe: Samen met IBM scoort Dataiku hier het hoogst van alle platformen op de as ‘Completeness of Vision’. Dat klinkt als een veelbelovende kwalificatie om de top-4 platformen (IBM, SAS, Rapid Miner en KNIME) naar de kroon te kunnen steken. In één van onze eerdere blogs kwamen IBM (SPSS) en SAS aan bod, afgezet tegen open source tools R en Python. En ook hebben we in een andere blog Rapid Miner en KNIME al eens ‘head to head’ met elkaar vergeleken. In deze blog neem ik jullie graag mee in mijn ervaringen met Dataiku: Wat maakt dit nu zo ‘visionary’? En hoe zit het met het gebruiksgemak voor de data scientist en data analist?
Sinds begin 2016 werk ik zelf op een project met Dataiku. Dat was voor de betreffende klant het moment om als één van de eerste organisaties in Nederland met Dataiku aan de slag te gaan. Inmiddels werken de data analisten, data scientists en data engineers binnen deze organisatie in toenemende mate met Dataiku om met inzet van data de bedrijfsvoering te analyseren en verbeteren. Zelf heb ik Dataiku binnen dit traject voor verschillende doelen in kunnen zetten in de analyse en data science workflow. In deze blog zal ik de Data Science Studio eerst kort introduceren en je vervolgens meenemen in mijn persoonlijke ervaring met Dataiku.
Eerst wat algemene informatie. Want wellicht heb je de naam al weleens horen vallen, ging je (net als ik J) snel Googlen op [‘dataiq’ OR ‘data iq’] en dacht je: Waar gaat dit over??? Nou, over [Daa-taa-ie-kuuuuu] dus…
Dataiku is opgericht in 2013 in Frankrijk door haar vier ‘vaders’ Florian Douetteau, Clément Stenac, Marc Batty en Thomas Cabrol. Sindsdien is het hard gegaan met Dataiku, houdt men ook kantoor in New York en is de organisatie flink gegroeid, richting de 100 medewerkers inmiddels. Met behulp van een groep venture capitalists heeft Dataiku haar data science studio (DSS) inmiddels door kunnen ontwikkelen en staan nieuwe ontwikkelingen binnenkort te gebeuren.
Waarom Gartner Dataiku’s Data Science Studio als visionary bestempelt? In haar eigen woorden: “…Its placement as a Visionary is due to the innovative nature of the DSS, especially its openness and ability to cater to different skill levels, which enables better collaboration. Dataiku’s Ability to Execute suffers from limited user adoption and deficiencies in its data access and exploration capabilities.”
Wil je je zelf een completer beeld vormen van de mogelijkheden van DSS? Neem dan vooral eens zelf een kijkje, Dataiku is weliswaar proprietary en dus geen open source project maar biedt wel een gratis (beperktere) versie waarmee je gedurende twee weken ook aan de volwaardige Enterprise Edition mag snuffelen. Al snel zal het je duidelijk zijn dat DataIku een breed scala aan functionaliteiten biedt. Het reikt veel te ver daar in deze blog een uitputtende beschrijving van te geven en dat is ook niet mijn doel. Mijn doel is om de in mijn ogen belangrijkste juichmomenten en frustraties in het gebruik van Dataiku te delen met vakbroeders en -zusters. Zodat je als jij zelf voor de keuze staat om wel/niet naar Dataiku over te stappen, je alvast een beter beeld hebt van waar je mee te maken gaat krijgen als je er mee aan de slag gaat.
Hoe ‘werkt’ Dataiku DSS? Dataiku kan op een interne server geïnstalleerd staan of draaien in de cloud, via Amazon Web Services of Microsoft Azure. Je benadert DSS via de browser. Binnen een project in DSS werk je het meeste vanuit de Flow (zie printscreen hieronder). Hierin komen databronnen en databewerkingen als ook de samenhang daartussen samen. Een dataset (blauwe icoontjes) kan worden bewerkt met visueel ondersteunde databewerkingen (visual recepies – gele icoontjes) of met eigen stukjes code in diverse talen (code recepies – oranje icoontjes). Statistische modellen zijn de groene icoontjes. Naast de flow biedt DSS de mogelijkheid databronnen in de flow te analyseren en verkennen met notebooks (voor wie bekend is met Jupyter / Ipython notebooks: Precies dat! Notebooks voor Python, R, SQL, Hive, Impala en Scala (Spark)!). Verkenningen en analyse kunnen ook visueel; analyses bieden de mogelijkheden te slicen en dicen en uiteraard om een breed scala aan machine learning algoritmen los te laten op de data. Als je tot een bepaalde te borgen workflow bent gekomen, kan je deze schedulen met een zogenaamd Scenario zodat deze met gewenste regelmaat wordt uitgevoerd. Daar kan je dan ook monitoring en dashboarding op inrichten. Tot zover deze ultrakorte intro in de belangrijkste Dataiku lingo en functionaliteit; kijk hier voor diepere introducties.
Graag neem ik jullie mee door een aantal pluspunten en minpunten waar ik in de dagelijkse praktijk tegenaan gelopen ben. Laten we positief beginnen:
Connectiviteit naar heel veel typen databronnen
De mogelijkheden om vanuit Dataiku naar diverse databronnen met een veelheid aan mogelijke typen data te connecten, is ronduit imposant. En dan vooral het gemak waarmee je diverse bronnen kan combineren. Lokale bestanden of folders uploaden, via FTP, uit een database (Oracle, MySql, SQL Server, Redshift, PostgreSQL, you name it), uit cloud opslag zoals S3, vanuit NoSQL (o.a. ElasticSearch), het kan allemaal met een paar kliks (en uiteraard wat instellingen). Eenmaal beschikbaar in de Flow kan je je er met visuele én code recepies op uitleven; daar waar mogelijk worden databewerkingen daar uitgevoerd waar ze het meest efficiënt zijn, lokaal, in-database,…
Flexibititeit in bewerking: Visueel én in code, Verkennend én geborgd
Wat me ontzettend goed bevalt aan Dataiku en wat het voor een breed publiek toegankelijk maakt, is de mate van vrijheid die het biedt in databewerking en analyse – visueel ondersteund of juist sterk code-based of in combinatie. Het staat je binnen DSS volledig vrij om data te bewerken met een visueel krachtige interface, die een imposant breed scala aan databewerkingen mogelijk maakt en alle databewerkingen ook nog eens overzichtelijk houdt. Datasets filteren, combineren, aggregeren, transformeren en modelleren. Gebruikers van tools als SPSS Modeler, SAS Enterprise Guide/Miner, RapidMiner en Knime zullen zich hier thuis door voelen. Vooral de transformatiemogelijkheden die het Prepare Recipe bevat vind ik persoonlijk indrukwekkend. Het biedt erg veel mogelijkheden om bijvoorbeeld ook tekstuele data, webdata, geografische data en tijd gerelateerde kenmerken om te zetten in de kenmerken die jij eruit wilt halen. Dataiku heeft sterk geïnvesteerd om tot een krachtige, gebruiksvriendelijke userinterface te komen voor ‘data wrangling’ oftewel kneden van de data om dit zo voor een breed publiek beschikbaar te stellen.
Heb je echter een voorkeur om de bewerkingen in code te doen, dan kan dat met hetzelfde gemak. R, Python, SQL, Hyve, Pig, Spark SQL, PySpark,… het staat allemaal tot je beschikking om – als het op de bron past – te kunnen gebruiken in plaats van een visueel recipe. Hiermee staan direct ook alle machine learning libraries vanuit R, Python, Spark R, PySpark, … tot je beschikking om binnen DSS te gebruiken.
En als je nog niet helemaal weet wat je nu wilt gaan doen met de data, omdat je deze eerst nog wat beter wilt verkennen, dan staan de notebooks á la Jupyter tot je beschikking om een dataset uit je flow te verkennen – wederom met een aantal programmeertalen. En voor de niet-zo-code-georiënteerden is er de lab omgeving, die met visuele middelen mogelijk maakt de data te slicen & dicen en modelbouw te doen. Weet je dan wat je wilt doen in de flow, dan maak je alsnog een recipe die onderdeel van je hele flow wordt. Door de combinatie van mogelijkheden voor verkenning (notebook/lab) én borging (recipes) wordt je nauwelijks nog verleid om buiten Dataiku om te werken, wat een groot voordeel is, ook als je samen aan een data science project werkt. DSS biedt goede mogelijkheden samen binnen hetzelfde project te werken; dan is het wel zo handig als alles bij elkaar staat.
Minpunt: Overzichtelijkheid van Flows
Is het dan alleen maar hosanna?? Neeeeee, het blijft natuurlijk wel een tool, en elke tool heeft zo zijn beperkingen en frustraties. Waarbij kleine dingen als je er maar vaak genoeg tegen aan loopt, toch heeeeeel vervelend kunnen zijn. Zo is één van mijn grootste frustraties met Dataiku dat iedere keer als je iets in je flow aanpast (je voegt een data source toe of een nieuw recipe of een model) dan Dataiku de hele organisatie van de flow verandert! Optimaliseert zal Dataiku zeggen. De flow wordt visueel als het ware weer helemaal opnieuw ‘optimaal’ opgebouwd, zodat lijntjes die de nodes verbinden, zo min mogelijk overlappen en databewerkingen van links naar rechts lopen. Maar als je eenmaal behoorlijk wat nodes in je flow hebt en je past linksonderin iets aan, dan kan het zomaar zijn dat die node vervolgens naar rechtsonder schiet. Of rechtsboven. Of in het midden. Dat is heel erg desoriënterend. Daar waar binnen een recipe DSS juist zo sterk is om helder overzicht te houden welke transformaties je allemaal doet, zo verwarrend is de overall layout door het constante verspringen hiervan.
Flexibiliteit in aanpassen van Flows
Tweede grote frustratie is dat als je iets aan wilt passen ergens in het begin van je flow – je hebt toch een net andere databron die je wilt gebruiken, je wilt toch een extra filter recipe tussenvoegen – je nogal wat tijd bezig bent om de flow opnieuw op te bouwen. Daar is DataIku nog niet zo goed in als bijvoorbeeld SPSS Modeler of andere flow based pakketten, waarbij je probleemloos een extra node kan invoegen of bron kan vervangen. In Dataiku ben je hier naar mijn mening nu te veel tijd mee kwijt om je flow om te bouwen – soms bijna vanaf het begin.
Data Visualisatiemogelijkheden
Derde beperking waar ik tegen aan gelopen ben is dat de mogelijkheden die Dataiku DSS biedt om mooie visualisaties te maken nog erg beperkt zijn. De interface om zelf mooie plots en overzichten te maken, is ronduit te mager om een dashboard samen te stellen waar je de business mee imponeert. Gelukkig kan je de data makkelijk geprepareerd naar een plek brengen waarmee je dat wel kan of kan je met Notebooks soms nog een heel eind komen om met R of Python tot de gewenste visualisaties te komen, maar hier ligt denk ik wel een hele belangrijke uitdaging voor Dataiku als men ook de slag met bijvoorbeeld de Tableaus en Qlikviews van deze wereld aan wil gaan.
Overall ben ik het afgelopen jaar erg gecharmeerd geraakt van Dataiku. De grootste kracht schuilt in mijn ogen in de flexibiliteit van Dataiku op het gebied van connecten naar bronnen, de (schaalbare) mogelijkheden die het biedt om data te bewerken, analyseren en te borgen in processen en de keuze die je bijna overal hebt tussen coderen versus klikken. Je hoeft voor een data science project van begin tot eind DSS niet uit, kan het proces zo goed borgen en delen met collega’s en ook (tegelijk) samen aan ontwikkelen. De grootste nadelen of frustraties in Dataiku vind ik het gebrek aan controle over de workflow, het makkelijk kunnen aanpassen van een bestaande workflow en de (huidige) mogelijkheden die Dataiku biedt voor data visualisatie.
Mocht je met je organisatie op het punt staan een data science workflow pakket te overwegen, dan is Dataiku zeker een sterke kandidaat om te overwegen. Afhankelijk van de eisen die jouw organisatie stelt, kan het een aantal uitdagingen tegelijkertijd oplossen. Ondanks de relatief korte tijd dat Dataiku op de markt is, is het een volwassen en volwaardig pakket, bruikbaar voor een breed publiek. Niet voor business gebruikers – de claim dat hiermee data en analyse hiermee ook voor hen mogelijk wordt, vind ik overtrokken- , wel voor data analisten, data scientisten, data engineers en meer data professionals. Wil je meer gebruikerservaringen weten of heb je specifieke vragen? Neem dan gerust contact met mij.
Wil je meer weten over dit onderwerp? Neem dan contact op met Jurriaan Nagelkerke via onderstaande contactgegevens.
17 april 2023
In elk bedrijf is het een uitdaging om ervoor te zorgen dat we alleen de documenten... lees meer
16 januari 2023
Culture eats data strategy for breakfast Bedrijven die erkennen dat ze met de inzet van data... lees meer
20 december 2022
20 jaar Cmotions is ook 20 jaar vakgeschiedenis en -ontwikkeling. Dit geeft waardevolle inzichten voor de... lees meer