Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
Free Trial

Base de Connaissance

Apprenez auprès des experts.
TIPS de la semaine

Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !

Voir l'index

La macro de DataSet de cache

Community_Admin
Alteryx
Alteryx
Créé
La macro de DataSet de cache

Vous pouvez télécharger la version la plus récente de la macro de DataSet de cache (v2) de la Alteryx Analytics Gallery et la lire ici.

(vous pouvez également obtenir la version originale du DataSet de cache ici.)

Une des grandes choses sur Alteryx est de savoir comment une fois que vous obtenez le coup de lui, vous êtes capable de manipuler des données presque aussi vite que vous pouvez penser à l'étape suivante dans votre processus. Vous finissez par passer moins de temps à jongler avec les mécanismes de mélange et d'analyse de vos données, et plus sur le problème réel de l'entreprise à portée de main. Vous obtenez dans un flux rythmique, cet état d'esprit où vous perdez la trace du monde extérieur tout en éclabousseant les accents de Regex et les faits saillants de la formule sur votre toile, et devenez un avec les données pour créer un chef-d'œuvre de travail.

Mais lors de la construction d'un workflow qui traite de grandes quantités de données et/ou exécute des analyses de processeur lourde, vous pourriez trouver difficile d'entrer dans ce flux rythmique que vous êtes habitué quand vous devez attendre plusieurs minutes entre les pistes pour voir les résultats de l'ajout d'un outil ou un Groupe d'outils sur la toile.

Une solution à cette limitation de votre flux est d'échantillonner toutes les données. Il y a plusieurs façons de le faire. L'un consiste à placer des outils d'échantillonnage stratégiquement tout au long de votre workflow. Une façon plus robuste et plus propre d'accomplir la même chose est de créer une constante utilisateur pour limiter le nombre d'enregistrements sur les outils d'entrée:

  1. Cliquez sur n'importe quel espace sur la toile, puis dans la fenêtre de configuration, accédez à l'onglet "workflow"
  2. Ajouter une nouvelle constante définie par l'utilisateur appelée "sample" et la définir à un nombre relativement faible, comme 1000
  3. Dans le panneau de configuration de tous les outils d'entrée, définissez l'option "limiter l'enregistrement" à "% User. Sample%" (sans les guillemets)
  4. Développez votre workflow avec le nombre d'enregistrements d'entrée limitée, et lorsque vous êtes prêt à l'exécuter avec l'ensemble complet de données, il suffit de définir l'utilisateur constante définie "sample" pour être vide afin que les données ne sont pas plafonnés

Le problème avec cette approche est que dans de nombreux cas, vous n'allez pas voir le comportement dont vous avez besoin pour construire votre workflow de manière appropriée.

Mais que faire si vous pouviez "sauver votre place" et d'exécuter uniquement les nouveaux outils que vous avez ajouté à la toile, sans ré-exécuter tout le reste encore une fois? Eh bien, je vais vous montrer comment vous pouvez faire exactement cela-avec l'aide de la macro cache DataSet!

icône de DataSet de cache .png

Voici une démo rapide de la façon dont il fonctionne.

Supposons que vous avez un workflow qui dispose de trois sources de données d'entrée qui ont chacune plus de cent millions de lignes. Vous les Nettoyez et faire un peu de traitement, et déjà cela commence à prendre plus de temps que vous souhaitez attendre avant d'ajouter l'outil suivant et de jouer avec la configuration.

Workflow

À ce stade, vous décidez d'arrêter de déconner et de couper à la poursuite avec la macro de DataSet de cache. Pour ce faire, vous devez d'abord placer les outils que vous avez terminé la configuration dans un conteneur d'outils. Vous ajoutez ensuite une macro de DataSet de cache au dernier outil du flux:

Workflow avec conteneur et macro

Si vous n'êtes pas familier avec l'outil conteneur outil, vous pouvez le trouver dans la catégorie outil de documentation. Pour l'utiliser, il suffit de le placer sur la toile, puis de faire glisser une sélection d'outils en elle.

Ensuite, vous devez configurer la macro de DataSet de cache, qui heureusement est très simple. Vous voudrez lui donner un nom unique et descriptif (si vous avez plusieurs macros de DataSet de cache sur votre toile, soyez sûr de leur donner chacun des noms différents!), et vous voudrez laisser le mode d'exécution réglé à «écrivent».

Configuration

Maintenant, lorsque vous exécutez le workflow, le Datastream étant alimenté dans la macro de DataSet de cache (dans ce cas, la sortie du deuxième outil de transposition) sera enregistrée en tant que fichier temporaire. (plus spécifiquement, il sera enregistré en tant que fichier de données Alteryx dans le même dossier que la macro de DataSet de cache lui-même.)

Installation terminée! Nous allons accélérer notre workflow!

Maintenant que nous avons la configuration du workflow pour utiliser la macro de DataSet de cache, nous allons le mettre à l'utilisation. Après avoir exécuté le workflow une fois avec la macro de DataSet de cache en mode "Write", vous pouvez l'activer en mode "Read" afin qu'il référence le fichier temporaire au lieu du flux d'entrée. Lorsque vous faites cela, vous verrez un indicateur d'erreur sur la macro de DataSet de cache vous indiquant qu'il est en "mode lecture". Ce n'est pas une erreur réelle, mais est destiné à être un indicateur visuel commode de sorte que lorsque vous commencez à construire un grand flux de travail avec de nombreuses macros de DataSet de cache, vous pouvez dire instantanément ceux qui sont mis à "Read" mode. Cela est important car cela signifie que l'entrée Datastream est ignorée, et si vous effectuez des modifications à un outil en amont, ces modifications ne passeront pas par la macro de DataSet de cache alors qu'elle est en mode «Read» puisqu'elle est lue à partir du DataSet temporaire enregistré au.

mode lecture conteneur désactivé

Maintenant, lorsque vous exécutez le workflow à nouveau, au lieu de prendre quelques minutes, il finira de fonctionner presque instantanément! Vous pouvez maintenant continuer à créer votre workflow à partir de la macro de DataSet de cache. Lorsque vous avez votre configuration de workflow à votre goût, vous pouvez faire un clic droit sur les macros de jeu de données de cache et "supprimer et se connecter" pour se débarrasser d'eux sans perturber le flux des données, ou vous pouvez simplement placer la macro en "Bypass" mode, qui permettra le flux de données THRO ugh il intact comme si elle n'était même pas là.

Retour dans le flux

Une fois que vous commencez à utiliser la macro de jeu de données de cache, vous obtiendrez le coup de lui rapidement, et vous retrouverez de nouveau dans cette cannelure douce que vous êtes habituée, même lors de l'élaboration de certains lourds traitement intensive des ressources dans votre workflow.

Espérons que vous trouverez la macro de jeu de données de cache pour être un ajout utile à votre boîte à outils qui vous permet d'obtenir plus de Alteryx. Si vous avez des questions, des commentaires, ou des commentaires, s'il vous plaît le partager dans la section commentaires ci-dessous, je l'apprécierais vraiment et je suis heureux de vous aider avec tous les problèmes que vous pourriez rencontrer.

Une note rapide avant de se séparer: comme indiqué, cette macro écrit des datasets temporaires dans le dossier contenant la macro de DataSet de cache. Il se peut que vous souhaitiez supprimer occasionnellement les datasets dans ce dossier s'ils prennent beaucoup d'espace. À un certain point, j'ai l'intention de mettre à jour la macro pour inclure la logique pour le nettoyage de ces jeux de données temporaires, mais ce sera pour une autre fois. Quand je fais, je vais être sûr de lien vers la mise à jour ici. En attendant, c'est laissé à l'utilisateur.

Après

Pour conclure, je voulais montrer un exemple de ce qu'un workflow pourrait ressembler qui a été développé une section à la fois avec la macro de DataSet de cache. Dans la capture d'écran de workflow ci-dessous, j'ai eu trois grands ensembles de données que j'avais besoin de transformer et de normaliser avant de développer un modèle avec l'ensemble d'outils prédictifs Alteryx. C'était en fait ce problème très qui a été l'inspiration pour la macro de DataSet de cache. Sur le côté gauche se trouve le workflow final avec tous les conteneurs d'outils activés et les datasets de cache en mode "Write" (encerclé en rouge pour les rendre plus visibles), et sur la droite est le même Workflow avec les conteneurs désactivés et les macros de mise en cache mis en mode "Read".

retour dans le flux écrire lire

Shoutout à collègues ingénieur de contenu Neil Ryan, qui a également développé une macro de mise en cache avec la même fonctionnalité indépendamment, avant que je fasse. Je ne me sens pas juste en prenant le plein crédit pour cette solution à un problème commun que nous avons tous rencontré, quand Neil m'a battu au Punch. En dépit de la création fondamentalement la même chose, pour quelque raison que sa macro n'a pas eu autant de visibilité au sein de notre groupe, et en conséquence, je suis celui qui écrit ce billet de blog. C'est une véritable situation de Leibniz-Newton. Donc, si cela est bien reçu, je suis heureux de partager la gloire avec Neil. Mais si vous ne l'aimez pas, s'il vous plaît diriger votre colère et la déception envers Neil, puisque quand vous y pensez, c'était son idée d'abord.

À:

-10/12/2015: Une mise à jour mineure de la macro a été téléchargée afin qu'elle puisse être présente dans les workflows téléchargés dans la galerie en 10,0. Lorsqu'une macro est dotée d'un outil d'entrée et d'un outil de sortie qui pointe vers le même fichier, elle l'interprète comme un problème et indique que la validation a échoué. Cela se produit dans cette macro, puisque nous sommes à la fois la lecture et l'écriture à partir du fichier mis en cache temporaire, même si elle ne se produit jamais en même temps. Nous obtenons autour de ceci en pointant les outils d'entrée/sortie à différents noms de fichier d'espace réservé, et puisque les outils d'action mettent à jour le chemin en utilisant le nom spécifié par l'utilisateur dans la configuration, nous sommes bons pour aller. Gardez à l'esprit cependant, que si vous êtes en téléchargeant un workflow à la galerie qui utilise cette macro, vous serez OK si elle est réglée sur "Write" ou "Bypass" mode, mais se déroulera dans les problèmes si vous l'avez réglé sur "Read" mode!

-10/14/2015: Ajout d'un lien pour télécharger la macro à partir de la galerie en haut de la page.

-04/11/2016: Ajout d'un lien vers la macro cache DataSet V2 en haut de la page.

Le développement de workflows à forte intensité de ressources peut être un défi lorsque les modifications de test impliquent l'exécution du workflow via des itérations qui peuvent prendre plusieurs minutes ou plus avant d'être en mesure de voir les résultats. Ce message parcourt l'utilisation de la macro de DataSet de cache pour développer des workflows d'une manière plus intelligente, éviter les temps de longue durée répétés et accélérer le processus de fusion et d'analyse de plus grandes séries de données.

Cache
Étiquettes