En savoir plus

Introduction au partitioning Spark

Si vous développez en Spark, vous avez sûrement déjà entendu parler des partitions. Ce n’est pas le cas ? Et pourtant, il est très probable que vous ayez eu à faire à elles, sans le savoir, lors d’une phase de debug, de l’écriture d’un algorithme ou de l’analyse d’un traitement sur la Web UI Spark. Découvrez ce concept et surtout pourquoi il est si important de l’avoir à l’esprit lorsque l’on fait “du Spark”.

Lire la suite
En savoir plus

Tests informatiques, les bonnes pratiques

Que celui qui n’a jamais dit : « c’est bon, j’suis sûr que ça passe, on testera en prod sinon », lève la main. La tentation est grande, mais hélas, trois fois hélas, ça ne finit généralement pas par un happy end.

Lire la suite
En savoir plus

Customiser son Pipeline PySpark avec ses propres stages

Quand vous créez un Pipeline à l’aide de Spark ML, il est composé d’une multitude de stages natives au framework Spark, comme Tokenizer, OneHotEncoder, StringIndexer. Pourtant vous aimeriez pouvoir y inclure d’autres stages, développées par vous même. Dans cet article nous prendrons l’exemple d’un transformer très simple, permettant de récupérer en entrée une chaîne de caractère et d’en sortir la chaîne de caractère inverse. Nous verrons ainsi toutes les étapes permettant d’inclure ce transformer dans un Pipeline.

Lire la suite
En savoir plus

Mesure des risques financiers : pourquoi préférer l’expected shortfall à la VaR ?

À chaque crise financière, ce sont bien souvent l’ensemble des acteurs économiques qui trinquent. Or, tous les secteurs devraient pouvoir mesurer leur exposition aux risques auxquels les soumettent les marchés financiers. Ce sont les banques et les assurances qui font office de pionnier en la matière, compte-tenu de leurs activités. Or plusieurs modèles s’opposent. Si la Value at Risk (VaR) a longtemps eu les faveurs des observateurs, celui de l’expected shortfall tend désormais à s’imposer.

Lire la suite
En savoir plus

Le Pattern Matching, le Demolition Man intelligent

Le pattern matching, ou filtrage par motif, est un des outils de programmation fonctionnelle dont les capacités sont parmi les plus subtiles à apprécier pour les développeurs, surtout s’ils font beaucoup de programmation objet. Si vous l’avez déjà rencontré, vous l’avez certainement comparé (au moins dans un premier temps) à une série de if voire d’instructions switch sous stéroïde. Il peut d’ailleurs tout à fait remplacer cette instruction. Mais en réalité, l’intérêt du pattern matching réside dans sa capacité à déconstruire l’encapsulation en posant des conditions de structure afin d’extraire des valeurs et de les manipuler. Bref, c’est une façon très commode de traiter les données. Et je vais vous le démontrer.

Lire la suite
En savoir plus

Va ranger ta chambre : ou comment une liste est parfois plus rapide qu’un dictionary

“Va ranger ta chambre ! ”, l’hymne universel de tous les parents. Enfant, beaucoup d’entre nous ont pu remettre en cause le bien-fondé de ce genre d’injonction. Des années plus tard, quand Microsoft nous dit dans sa documentation que la recherche dans un dictionary se fait en temps constant (quasi O(1)), on serait tenté de l’accepter sans avoir recours à notre esprit critique. À tort peut-être ?

Lire la suite