Lorsque le volume de données est faible et que le temps de traitement n'est pas une contrainte forte, l'analyse peut se faire facilement à partir du couple Python/Pandas. Pandas permet de manipuler facilement des données : recherches, tris, jointures, etc. PyArrow est un autre produit de manipulation de données. Plus rapide que Pandas mais moins intuitif.
Au-delà de la manipulation de données, le module scikit-learn permet d'exploiter des algorithmes d'apprentissage automatique en Python : forêts aléatoires, régressions logistiques, k-moyennes, etc.
Pour passer à de gros traitements, il est efficace de distribuer les données et de géolocaliser les calculs par rapport aux données.
Systèmes de stockage distribués : Hadoop, Cassandra, HBase, etc.
Systèmes de calculs distribués : Apache Spark, Dask, Apache Storm, etc.
Ces produits sont généralement exploitables en Python. Scala et Python sont parmi les langages les plus adaptés à ce type d'applications. Scala en tant que langage fonctionnel et Python pour sa riche bibliothèque existante.
Matplotlib, Seaborn, Bokeh, Plotly, etc.