Quand on parle d'analyses Big Data, on pense immédiatement à des frameworks comme Hadoop ou au langage statistique R. Mais AppNexus, une entreprise spécialisée dans les technologies publicitaires en ligne, s'appuie également sur le langage de programmation Python pour réaliser de l'analyse massive de données. Deux ingénieurs d'AppNexus seront présents à la conférence PyData(du 26 au 28 octobre 2012 à New York) pour expliquer comment la plate-forme de publicité en ligne en temps réel utilise le langage de programmation Python pour ses opérations de traitement à grande échelle. Comme l'a déclaré David Himrod, directeur optimisation et décisionnel d'AppNexus qui doit intervenir aujourd'hui à la conférence avec Steve Kannan, directeur technique d'AppNexus, « l'entreprise est dans une période de croissance rapide ». Il y a trois ans, quand il a commencé à travailler chez AppNexus, celle-ci comptait 30 employés. Et aujourd'hui, elle emploie plus de 350 personnes. Si bien que le directeur optimisation et décisionnel s'est intéressé de près à des technologies capables de s'adapter rapidement à cette évolution.

« Le premier avantage de Python, c'est sa simplicité », a déclaré David Himrod. Son plus grand défi a été de trouver comment faire travailler ensemble, sur la même pile technologie, différents employés de l'entreprise. Python a permis de rassembler des personnes ayant un background différent - ingénieurs, mathématiciens, analystes - autour d'un langage commun, facile à comprendre, et de prototyper de nouvelles fonctionnalités pour l'entreprise. « Ce qui est intéressant, c'est que nous n'avons pas eu besoin d'embaucher des personnes ayant un passé de programmation spécifique. Python est facile à enseigner », a ajouté David Himrod. « Python est vraiment propre et facile à apprendre ». En fait, Python est si facile à apprendre que c'est un stagiaire qui enseigne le langage aux nouveaux salariés. Il n'avait aucune expérience de la programmation, mais il a pu l'apprendre rapidement. En outre, les bibliothèques Python, comme SciPy, iPython et Pandas, offrent la plupart des fonctionnalités mathématiques que l'on trouve généralement dans le langage de programmation R.

15 To de données à traiter par jour

AppNexus utilise plusieurs technologies pour le stockage et l'analyse des données, y compris MySQL, Netezza d'IBM, Vertica d'Hewlett-Packard, Apache Hadoop et HBase. Afin d'offrir ses services de publicité ciblée, l'entreprise traite environ 15 To de données par jour. « Nous avons réussi à construire un framework qui nous permet de capter facilement des données provenant de sources très disparates et de les modéliser. Ainsi, au lieu que de passer son temps à écrire du code pour se connecter à une base de données, nos analystes peuvent utiliser une configuration simple et démarrer rapidement », a encore déclaré le directeur optimisation et décisionnel d'AppNexus. Du fait de cette facilité d'adaptation, Python permet à l'entreprise de passer plus rapidement le code de la phase de conception à la phase de production, puisque le code prototypé peut facilement être mis en production. Pendant la conférence, David Himrod devrait expliquer comment un analyste, à peine formé à l'informatique, a pu développer un algorithme suffisamment puissant pour être déployé à grande échelle.

Créé dans les années 1980, Python est un langage très flexible et très dynamique qui a eu beaucoup de succès auprès des administrateurs système et des développeurs à la recherche d'un langage permettant d'assembler rapidement des programmes. À la conférence PyData, les intervenants vont plutôt insister sur l'usage de Python pour des tâches d'analyse plus spécialisées. Des débats sont prévus sur l'utilisation de Python et des différentes bibliothèques pour le traitement des flux de données, la visualisation des ensembles de données et l'exécution de calculs scientifiques.