Premiers pas avec PySpark et le traitement des Big Data

Premiers pas avec PySpark et le traitement des Big Data

Il devient de plus en plus courant de faire face à des situations où la quantité de données est tout simplement trop importante pour être gérée sur une seule machine. Heureusement, des technologies telles qu’Apache Spark, Hadoop et d’autres ont été développées pour résoudre ce problème précis. La puissance de ces systèmes peut être exploitée directement depuis Python en utilisant PySpark!

Gérer efficacement des ensembles de données de gigaoctets et plus est bien à la portée de tout développeur Python , que vous soyez un data scientist, un développeur web ou quoi que ce soit entre les deux.

*Dans ce didacticiel, vous apprendrez:*
  • Quels concepts Python peuvent être appliqués au Big Data

  • Comment utiliser Apache Spark et PySpark

  • Comment écrire des programmes de base PySpark

  • Comment exécuter des programmes PySpark sur de petits ensembles de données localement

  • Où aller ensuite pour apporter vos compétences PySpark à un système distribué

    *Bonus gratuit:* lien: [Cliquez ici pour accéder à un chapitre de Python Tricks: The Book] qui vous montre les meilleures pratiques de Python avec des exemples simples que vous pouvez appliquer instantanément pour écrire du code Pythonic plus beau +.

Concepts de Big Data en Python

Malgré sa popularité en tant que just a scripting language, Python expose plusieurs programming paradigms comme https://realpython .com/numpy-array-programming/[programmation orientée tableau], object-oriented programming, https://realpython.com/courses/python -3-concurrent-asyncio-module/[programmation asynchrone], et bien d’autres. Un paradigme qui présente un intérêt particulier pour les futurs professionnels du Big Data est functional programming.

La programmation fonctionnelle est un paradigme courant lorsque vous traitez avec le Big Data. L’écriture de manière fonctionnelle permet de créer un code embarrassingly parallel. Cela signifie qu’il est plus facile de prendre votre code et de l’exécuter sur plusieurs processeurs ou même sur des machines entièrement différentes. Vous pouvez contourner la mémoire physique et les restrictions du processeur d’une seule station de travail en exécutant simultanément plusieurs systèmes.

C’est la puissance de l’écosystème PySpark, vous permettant de prendre du code fonctionnel et de le distribuer automatiquement sur un cluster entier d’ordinateurs.

Heureusement pour les programmeurs Python, de nombreuses idées de base de la programmation fonctionnelle sont disponibles dans la bibliothèque standard et intégrée de Python. Vous pouvez apprendre de nombreux concepts nécessaires au traitement du Big Data sans jamais quitter le confort de Python.

L’idée centrale de la programmation fonctionnelle est que les données doivent être manipulées par des fonctions sans maintenir aucun état externe. Cela signifie que votre code évite les variables globales et renvoie toujours de nouvelles données au lieu de manipuler les données sur place.

Une autre idée courante dans la programmation fonctionnelle est https://en.wikipedia.org/wiki/Fonction Anonyme_fonctions anonymes]. Python expose des fonctions anonymes à l’aide du mot clé + lambda +, à ne pas confondre avec AWS Lambda functions.

Maintenant que vous connaissez certains termes et concepts, vous pouvez explorer la façon dont ces idées se manifestent dans l’écosystème Python.

Fonctions Lambda

Les fonctions lambda en Python sont définies en ligne et sont limitées à une seule expression. Vous avez probablement vu les fonctions + lambda + lorsque vous utilisez la fonction intégrée + sorted () +:

>>>

>>> x = ['Python', 'programming', 'is', 'awesome!']
>>> print(sorted(x))
['Python', 'awesome!', 'is', 'programming']
>>> print(sorted(x, key=lambda arg: arg.lower()))
['awesome!', 'is', 'programming', 'Python']

Le paramètre + key + to + sorted + est appelé pour chaque élément dans iterable. Cela rend le tri insensible à la casse en changeant toutes les chaînes en _ minuscules avant le tri.

Il s’agit d’un cas d’utilisation courant pour les fonctions + lambda +, petites fonctions anonymes qui ne conservent aucun état externe.

D’autres fonctions de programmation fonctionnelle courantes existent également en Python, telles que + filtre () +, + map () + et + Reduce () +. Toutes ces fonctions peuvent utiliser des fonctions + lambda + ou des fonctions standard définies avec + def + de manière similaire.

+ filtre () +, + carte () + et + réduire () +

Https://realpython.com/lessons/filter-function-overview/[+ filter () +] intégré, +map () + `, et les fonctions