Fermer

avril 29, 2020

Faites évoluer formellement votre pratique de la science des données


Souvent, la métaphore «explorer, marcher, courir, voler» est utilisée pour décrire le chemin vers la mise en œuvre d'une pratique de science des données évolutive. Il y a beaucoup de problèmes avec ce concept, dont le moindre n'est pas le fait qu'il existe déjà une motion. Les gens font déjà du travail BI, souvent un travail complexe permettant des résultats de grande valeur. Imaginez quelqu'un courir sur un tapis roulant qui se met soudainement à marcher. De plus, la complexité et l'échelle de l'algorithme ne sont pas nécessairement directement proportionnelles à la valeur commerciale. Parfois, les régulateurs exigent ce rapport dans SAS et c'est ainsi que nous gardons les lumières allumées. Le travail essentiel à la mission est-il considéré comme une exploration? Oh, et les gens ne peuvent pas voler. Un meilleur modèle est la loi de conservation de la quantité de mouvement angulaire.

Modélisez formellement votre chemin

Comment la loi de la quantité de mouvement angulaire s'applique-t-elle à la mise à l'échelle de votre pratique de la science des données. La loi du moment angulaire stipule:

Lorsque le couple externe net agissant sur un système autour d'un axe donné est. zéro, l'impulsion angulaire totale du système autour de cet axe reste constante.

"Mais attendez, il y a un financement et un soutien exécutif pour nous sortir de l'âge des ténèbres et faire des analyses modernes!". Pas vraiment. Vous avez encore à peu près les mêmes personnes, le même budget et la même organisation. Vous avez juste un nouvel outil difficile à utiliser que la plupart des utilisateurs n'ont pas demandé. Ne te fais pas d'illusions; vous n'avez pas de couple. Mais vous avez une formule: L = mvr

 L = moment angulaire
m = masse
v = vitesse
r = rayon 

La ​​masse, la vitesse et le rayon sont dans une relation directe qui renverra le même résultat final. Fondamentalement, vous avez des facteurs limitatifs dans votre organisation; nombre d'utilisateurs qualifiés, ressources système, cibles potentielles de grande valeur. Vous n'avez pas besoin de déplacer la vitesse de l'ensemble du système de l'exploration à la marche pour courir. Vous devez identifier les valeurs que vous pouvez déplacer vers le haut et celles que vous devez laisser intactes ou même redimensionner.

Masse

La masse est la mesure de la résistance à l'accélération lorsqu'une force nette est appliquée.

Nous pouvons mesurer masse par le nombre d'utilisateurs générant activement de la valeur à partir de la plateforme. En supposant que nous ne pouvons pas contrôler ce nombre ou, honnêtement, la force nette appliquée, il nous reste à minimiser la résistance. Tout d'abord, considérez le contrôle d'accès. Si vos utilisateurs ont besoin de ssh dans une session de terminal sur le nœud périphérique pour kinit toutes les 24 heures, vous êtes limité. S'il existe un SSO via LDAP, mais que leurs données ACL n'ont pas migré vers le nouveau système, vous ressentez de la frustration.

Velocity

Velocity est la vitesse dans une direction donnée et la vitesse est la distance parcourue pendant un certain temps. à l'ancien système en minimisant les ralentisseurs. Les données sont généralement autant le problème que la solution ici. Les personnes peuvent obtenir rapidement des données si elles connaissent déjà le schéma et le but ou si une personne est retirée de ces connaissances. L'accès aux données que les gens ont l'habitude d'obtenir doit être tout aussi simple. Dans les systèmes distribués, il vaut mieux penser orienté colonne lorsque vous stockez des données et orienté ligne lorsque vous présentez des données. Ne lésinez pas sur la couche de présentation ici. Les gens viendront pour la date de l'état actuel. Ils resteront pour les données supplémentaires.

 Covid 19

Il existe une courbe d'apprentissage lors du passage de l'utilisation d'ensembles de données pouvant tenir dans la mémoire d'un ordinateur portable à l'utilisation d'ensembles de données distribués volumineux. La première habitude qui doit être brisée de force est le recours à des pandas. Lors du traitement d'un jeu de données dans pandas, vous utilisez les ressources du nœud périphérique. Il s'agit d'une ressource partagée qui aura pour effet de faire échouer les emplois des autres. Les cadres de données Spark ont ​​beaucoup en commun avec les cadres de données de Panda, de sorte que la courbe d'apprentissage est vraiment minime. 19659010] coalesce – Réduit le nombre de partitions pour permettre moins de mouvement de données.

repartition – Réduit ou augmente le nombre de partitions et effectue un mélange complet des données par opposition à coalesce.

partitionBy – Distribue les données horizontalement entre les partitions.

bucketBy – Décompose les données en parties plus gérables (compartiments) basées sur des colonnes hachées.

cache / persist

N'hésitez pas non plus à encourager l'utilisation de Spark SQL. Le plan physique finit par être le même que vous utilisiez la syntaxe SQL ou API et la plupart des gens connaissent SQL.

Le plus grand obstacle à la mise à l'échelle est d'attirer des clients fidèles et précieux qui souhaitent utiliser votre produit. Lors de la construction du système, commencez d'abord par le point de vue des utilisateurs.

La toute première condition à remplir est de savoir s'ils peuvent ou non utiliser votre produit. Tout d'abord, considérez le contrôle d'accès. Si vos utilisateurs ont besoin de ssh dans une session de terminal sur le nœud périphérique pour kinit toutes les 24 heures, vous êtes limité. S'il y a SSO via LDAP, mais que leurs données ACL n'ont pas migré vers le nouveau système, vous obtenez une frustration.

Ensuite vient l'accès aux outils. Vous aurez globalement deux catégories d'utilisateurs; scientifiques des données et analystes commerciaux. C’est plus facile si vous oubliez ces distinctions et que vous vous contentez de vous procurer facilement les outils. Les installations locales de Docker sont agréables, mais pas obligatoires. Tout le monde obtient python3. Tout le monde se git. Tout le monde obtient un terminal.

Enfin, une interface graphique standard est obligatoire. Les analystes auront toujours besoin de Tableau, par exemple. Les scientifiques des données ont besoin de deux IDE; PyCharm pour le munging dans pyspark et Sagemaker Studio pour la modélisation. Les scientifiques des données peuvent choisir la ligne de commande, et le feront souvent, mais cela ne devrait pas être obligatoire.

À propos de l'auteur <! -: dcallaghan, Architecte de solutions ->

En tant qu'architecte de solutions chez Perficient, j'apporte vingt ans d'expérience en développement et je suis actuellement en contact avec Hadoop / Spark, la blockchain et le cloud, le 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