3 technologies BigData pour 2017

Apache Spark

En véritable couteau suisse du BigData, Apache Spark tient toujours le premier rôle. En voici les raisons essentielles :

  • Une versatilité non démentie : il est capable de s’exécuter sur un cluster Hadoop ou sur une autre solution fédératrice de serveurs (comme Apache Mesos ou kubernetes). Mais il peut très bien être déployé tout seul (par exemple sur une ferme AWS avec S3 en système de fichier pseudo distribué).
  • Son effort pour offrir aux langages privilégiés par les Data Scientists une place de premier plan avec R et Python en préservant celle déjà faite au SQL, Scala et Java. Spark adresse ainsi le Machine Learning et les activités ETL (extraction, transformation, chargement) de manière unifiée. La version 2.1 a notamment fait la part belle à SparkR.

Petit apparté en mode exaspération : « Oui,oui, trois fois oui, il est parfois difficile de s’y retrouver dans toutes ces solutions Apache qui adressent la même problématique»

  • Une bascule vers une librairie de Machine Learning orientée Dataset (et non RDD) : cette transition progressive provoque quelques difficultés. On doit par exemple jongler entre les deux versions d’implémentation de LDA pour faire du Topic Modeling.
  • Le meilleur est à venir : L’intégration progressive des capacités GPU fait l’objet d’initiatives à suivre. Aujourd’hui c’est réalisable au prix d’un peu d’huile de coude (http://www.spark.tc/simd-and-gpu/) mais nous parions sur une démocratisation dans les mois à venir.

Kafka et Kafka Stream

Positionné au départ  comme ‘tampon’ d’acquisition des données devant les clusters dédiés au traitement, Kafka s’impose désormais dans un plus large domaine d’application. Il devient même l’épine dorsale des systèmes data-centric. Que ce soient les approches de Confluent.io ou bien celle de Spring Data Flow, la distribution de messages entre les différents acteurs (Stockage, Microservices, Base de données, etc.) repose désormais sur Kafka.

  • Kafka Stream https://www.confluent.io/product/kafka-streams/ est une solution à étudier pour embarquer de la logique applicative au plus près des files de message. Il simplifie grandement la topologie de son cluster en évitant la multiplication de certains micro-services. On y gagne en simplicité de déploiement, en performances, en résilience… mais cela ne peut pas couvrir tous les cas de configuration. Par exemple celui de travaux nécessitant de mobiliser l’exhaustivité des données.

Torch  / TensorFlow / Keras …  : les librairies de Deep Learning ont la cote

Progressivement, les entreprises ont développé leurs stratégies BigData et ont relevé les premiers défis qui se présentaient : réconcilier les données client, travailler de manière plus souple sur des  sources d’informations inexploitées, etc. L’heure est aux usages innovants qui tirent profit des dernieres innovations en termes de Machine Learning et notamment le Deep learning. Les initiatives et solutions se sont multipliées tout en se démocratisant. En voici un aperçu :

  • TensorFlow: pour exécuter les calculs sur processeurs graphiques GPU. Cette solution développée par Google est utilisable par des librairies de plus haut niveau comme Keras,
  • Keras permet de définir la topologie de son réseau de neurones et déléguer l’exécution à TensorFlow ou Theano. On citera également Torch comme moteur de calcul scientifique,
  • MXNET qui réunit les prestigieux contributeurs : Amazon, Baidu, Microsoft, CMU & NYU. Mais aussi CNTK le ‘Microsoft Cognitive Toolkit’ avec une vidéo qui présente les domaines d’applications et performance de cette technologie : https://www.youtube.com/watch?v=9gDDO5ldT-4&feature=youtu.be .

Ces librairies sont très largement orientée python, pour les aficionados de la JVM, il y a la très respectable solution https://deeplearning4j.org/

Cependant, des défis d’infrastructure vont se présenter pour en tirer vraiment profit. Aujourd’hui seuls les acteurs cloud de pointe peuvent proposer des machines orientées calcul.
On peut les mobiliser à la volée mais Attention au prix !

Data Scientists, Architectes Data, passionnés de technologies, Nous recrutons sur Paris et Lille. consultez nos offres : http://www.novagen.tech/nos-offres/