Data Platform

ToolTime: Apache NIFI en dataflows

Regelmatig krijg ik als BI Architect de vraag hoe even wat de automatiseren. Of het nu het wekelijks ophalen van een excel bestand wat in een database ingelezen moet worden, of een volledige datamigratie van een database naar een andere is. Vroeger was mijn eerste gedachte iest van “dat ik schrijf wel even in Python/R/SQL/Informatica” Echter recentelijk is er een nieuwe tool in mijn gereedschapskist bijgekomen Apache NIFI.

NIFI is initieel ontwikkeld door de Amerikaanse NSA maar sinds 2014 helemaal open-source. En net zoals zoveel dingen die open-source beschikbaar worden gesteld is vanaf 2014 enorm veel ontwikkeld aan NIFI (inmiddels Apache NIFI). Zo heeft NIFI connectiviteit met vele cloud providers (AWS, Azure, Google etc) native ingebouwd. Je kunt ook met de meeste databases rechtstreeks werken. Het mooie is dat je heel snel een zogenaamde dataflow kan maken zonder ook maar 1 regel code te typen. NIFI heeft namelijk een web-gui.

Tijdens je dagelijkse werkzaamhedern heb je voornamelijk alleen te maken met zogenaamde Processors en Connections tijdens het maken van een flow. De connecties tussen de blokken zijn allemaal voorzien van een buffer. Hierdoor kun je gemakkelijk zien of er ergens een bottleneck is maar je kunt ook ongestraft even een Processorblok pauzeren/aanpassen zonder dat er data verlies optreed. Het mooie van Apache NIFI is dat je het standalone op je notebook kunt draaien, maar ook als docker container of zelfs als volledig multi-node cluster. Bij mij huidige klant worden er meerdere NIFI clusters ingezet. Voor alles van het simpel ophalen van een CSV file via FTP tot een volledige datamigratie met GDPR annoniemisering. Zelfs streaming data is geen probleem. Zo worden er van vele toegangspoortjes data ontvangen in NIFI en vervolgens  doorgezet naar Kafka Queues.

Apache NIFI is nog in ontwikkeling maar inmiddels kun je al heel veel met deze tool doen. Je kunt Apache NIFI zelf standalone runnen maar inmiddels maakt het ook al deel uit van Hortonworks DataFlow product, en je kunt het ook terug vinden in Microsofts HDInsight.

Naast al de functionaliteit die al in NIFI is ingebouwd (Ik heb het nog niet eens over Security, DataGoverance, Versioning en Templates gehad) kun je ook altijd nog je eigen code als processor blok in een flow plaatsen.  Inmiddels is Apache NIFI mijn favorite go-to tool geworden.

  Rob Kypriotakis
  BI&A Architect

Links:

 

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *