Apache Flink

De Nederlandse Hadoop User Group organiseert 11 december een meeting over Apache Flink. Sinds enkele maanden heeft dit project de incubator status bij Apache. Vertaal je Flink van het Duits naar het Engels dan krijg je iets als 'nimble', 'agile' of 'speedy'. Vanuit het duits omdat het een project is dat gestart is door de TU van Berlijn.

Apache Flink is een alternatief voor Apache Spark en werkt op een vergelijkbare manier. Het idee van deze frameworks is dat je operaties definieert op datasets en dat deze operaties automatisch over een cluster verdeeld worden. Beide frameworks kunnen draaien op Hadoop maar kunnen ook standalone functioneren.

Vanmiddag bestudeerde ik samen met een collega de API van Apache Flink en de overeenkomsten tussen Apache Flink en Spark zijn erg groot. Zo groot dat je je afvraagt waarom er een nieuw project gestart is. Gelukkig zijn er wel verschillen. Apache Flink bevat namelijk een soort 'optimizer' die de applicatie code optimaliseert. Een concept dat je ook terug ziet komen in relationele databases. De programma code die de operaties en data sets definieert wordt dus eerst geoptimaliseerd voordat het uitgevoerd wordt. Een logisch gevolg is dat de executie niet altijd op een gelijke wijze plaast vindt. Ik ben erg benieuwd hoe dit in de praktijk werkt en wat voor invloed het heeft op de correctheid van applicaties.

Cinch

Ander nieuws. Afgelopen week is de eerste versie van Cinch gereleased. Cinch is een framework dat er voor zorgt dat Spring componenten binnen Apache Spark kunnen draaien. Op die manier hoeft de programmeur zich bijvoorbeeld niet druk te maken over het inlezen van property files, het aanmaken en afsluiten van allerlei connecties. Spring regelt dit en nu dus ook binnen Apache Spark. De code is beschikbaar op Github.