agsandrew - Fotolia
Flink se pare d’un client SQL : un clin d’œil aux data scientists
La communauté Flink a travaillé à intégrer un client SQL à son projet pour en ouvrir les cas d’usage et en faciliter la manipulation à de nouveaux utilisateurs.
Flink franchit une nouvelle étape. La communauté du projet open source de traitement de flux de données en streaming a intégré à la version 1.5 de son framework un client SQL en ligne de commande dont la vocation est d’ouvrir un peu plus les usages et la cible de l’outil. Il faut dire que Flink est souvent présenté comme un concurrent direct de Spark. Sa communauté est certes plus réduite, tout comme ses références, mais le projet sert notamment de socle aux services cloud de gestion de flux de données chez Google et AWS.
Contrairement à Spark, via son extension Spark Streaming, qui s’adosse à des procédures en micro-batch, Flink a été conçu nativement pour le streaming et le temps réel, est doté de capacité de résistance aux pannes, exécute des traitements Hadoop en direct et est écrit en Java. Comme Spark, Flink se veut être un remplaçant de MapReduce, mais il prétend être encore plus rapide que Spark.
Jusqu’alors, il était possible avec Flink de passer des requêtes via une API SQL – il se repose pour cela sur Apache Calcite ou encore sur Table API, une interface unifiée pour effectuer des requêtes en batch ou en streaming.
« Rendre le streaming accessible à un public plus large »
Mais avec un client SQL (CLI – interface en ligne de commande), la communauté souhaite davantage intégrer SQL à la solution, car elle considère que cela est assurément le langage le plus utilisé pour l’analyse de données. « La nécessité d'appliquer également ces concepts (liés à SQL, NDLR) aux flux est logique si l’on veut rendre le streaming accessible à un public plus large et permettre de développer plus rapidement sans avoir à connaître le runtime sous-jacent », écrit encore la communauté. En outre, ce client – même s’il s’agit encore de lignes de commandes et pas d’un outil avec une interface graphique léchée – doit aussi permettre de se passer d’un IDE (Integrated Development Environment) tiers.
Flink devrait donc être en mesure de séduire les data scientists qui ont le pouvoir de donner la parole à ces imposantes masses de données. « Nous souhaitons que Flink soit naturel pour les spécialistes de l'ingénierie et du traitement des données, ainsi que pour les utilisateurs qui développent des applications bâties sur des données et des événements (et bien sûr ceux qui combinent les deux aspects à l'intérieur de leurs applications) », précise Fabian Hueske, de la société Data Artisans, un cadre de la communauté Flink, dans un billet de blog – la société contribue également au projet open source Beam, un framework dont l’ambition est de permettre la migration de pipelines de données, quel que soit la plateforme cloud.
La communauté Flink n’est pas la première à avoir rapproché SQL de la sphère des outils de traitements des Big Data ou des flux de données. Confluent, la société derrière le projet open source Kafka, a aussi travaillé à associer un moteur SQL (KSQL) à l’outil de gestion de messages et des flux de données. Sans oublier les nombreux projets d’interface SQL pour Hadoop, à commencer par Impala, Drill, Presto et Hive. Avec sa popularité grandissante, Flink devait lui aussi franchir cette étape.