Fermer

juin 16, 2021

Les koalas sont meilleurs que les pandas (sur Spark)


J'aide les entreprises à créer, gérer et, espérons-le, à tirer parti des grands magasins de données. Ou du moins, j'essaie. Afin de tirer parti de ces magasins de données à l'échelle du pétaoctet, j'ai besoin que les scientifiques des données puissent facilement appliquer leurs connaissances statistiques et du domaine. Il y a un problème fondamental : les grands ensembles de données sont toujours distribués et les data scientists travaillent sur des ensembles de données d'une seule machine. Avec des pandas. Toujours.

La plupart des scientifiques des données tiennent les pandas pour acquis. Le chargement d'un fichier csv dans une base de données à l'aide de pandas a peut-être été leur première ligne de code. Mais pandas est une bibliothèque à nœud unique. Cela signifie qu'il s'exécute sur le pilote dans un cluster Spark plutôt que sur tous les nœuds de travail. Donc ça ne s'échelonne pas. Ensuite, cela devient mon travail d'essayer d'enlever leurs pandas.

En règle générale, j'essaie de les convaincre que PySpark est vraiment facile et fait tout ce que les pandas peuvent faire, mais il peut le faire en répartissant tous les nœuds. Une déclaration à la fois vraie et peu convaincante. Le résultat malheureux est généralement une impasse et transforme une initiative autrefois prometteuse en un projet scientifique. Ma position était que leur code avait juste besoin de quelques petites réécritures pour fonctionner. Leur position était que leur code existant devait non seulement être réécrit, mais tout le code futur devrait être écrit à l'aide d'un outil inconnu. En cas d'égalité, le statu quo l'emporte rarement. Et je comprends ça. Mais j'ai vu suffisamment de déploiements de données à grande échelle réussis pour savoir que le gain de valeur et de connaissances l'emportent largement sur la douleur à court terme.

Data Intelligence - The Future of Big Data
The Future of Big Data

Avec quelques conseils, vous pouvez créer une plate-forme de données adaptée aux besoins de votre organisation et tirer le meilleur parti de votre capital de données.

Obtenir le guide

L'exploitation d'ensembles de données volumineux est plus intéressante que l'exploitation de petits ensembles de données. Les différences de taille statistiquement significatives sont importantes. La recherche reproductible est plus significative lorsque l'expérience fournit un processus d'extraction de données basé sur des paramètres plutôt que simplement le même ensemble de données. p-hacking est plus difficile à cacher.

Tout cela est derrière moi maintenant.

pip install koalas

importer databricks.koalas as ks

Dépasser les pandas

Je suis un grand fan de Databricks. J'aime leur plateforme mais je suis passionné par le code open-source qui me facilite considérablement la vie. Ils ont plus d'un projet comme celui-cimais je parle de Koalas. Les koalas remplacent (presque) les pandas. Il existe quelques différences, mais elles sont principalement liées au fait que vous travaillez sur un système distribué plutôt que sur un seul nœud. Par exemple, l'ordre de tri n'est pas garanti. Une fois que vous êtes plus familiarisé avec le traitement de données distribué, ce n'est pas une surprise.

Le fait est que les gens peuvent désormais se familiariser avec le traitement de données distribué.

PySpark reste le meilleur outil à utiliser pour développer des applications Spark en Python. Cependant, les scientifiques des données gaspillaient des cycles à apprendre inutilement une nouvelle bibliothèque qui n'apportait directement aucune valeur. En fournissant un remplacement instantané à leur outil de gestion de données le plus courant, nous pouvons court-circuiter une conversation frustrante et infructueuse et commencer à travailler.

Prise en main

Allez simplement jouer avec ici.

À propos de l'auteur <!– :   dcallaghan, Solutions Architect–>

En tant qu'architecte de solutions chez Perficient, j'apporte vingt ans d'expérience en développement et je suis actuellement en charge- sur Hadoop/Spark, blockchain et cloud, codage en Java, Scala et Go. Je suis certifié et travaille beaucoup avec Hadoop, Cassandra, Spark, AWS, MongoDB et Pentaho. Plus récemment, j'ai apporté des solutions de blockchain intégrées (en particulier Hyperledger et Ethereum) et de Big Data au cloud en mettant l'accent sur l'intégration de produits de données modernes tels que HBase, Cassandra et Neo4J en tant que référentiel hors blockchain. cet auteur






Source link