Alteryx 2023.1 - Uitleg over besturingscontainers

Door Arjan Loogman op Jun 5, 2023 3:00:00 PM

<span id="hs_cos_wrapper_name" class="hs_cos_wrapper hs_cos_wrapper_meta_field hs_cos_wrapper_type_text" style="" data-hs-cos-general-type="meta_field" data-hs-cos-type="text" >Alteryx 2023.1 - Uitleg over besturingscontainers</span>

Alteryx 2023.1 wordt geleverd met Control Containers. Ik ben vooral enthousiast over dit nieuwe type container, omdat het gebruikers veel meer mogelijkheden geeft om dynamische workflows te ontwikkelen. Kortom, Control Containers verbeteren enorm:

  • orkestratie
  • voorwaardelijke uitvoering
  • gebruik van loggegevens

Dus, wat betekent dit allemaal?

Basis

Een besturingscontainer ziet er bijna hetzelfde uit als een gewone Tool Container. Het belangrijkste verschil is dat het zijn eigen ingangs- en uitgangsanker heeft. Als er niets is aangesloten op de invoer van de Container, wordt deze altijd als actief beschouwd*. Hij wordt geactiveerd aan het begin van de workflowrun, laat de aangesloten tools alle gegevens verwerken, stuurt dan een log uit zijn eigen uitvoer en wordt gedeactiveerd.

*We gaan er hier vanuit dat de activeringsknop van de besturingscontainer linksboven is ingesteld op 'actief' en blauw wordt weergegeven.

Geen verbinding: De besturingscontainer is altijd actief. In dit geval wordt hij zelfs geactiveerd voordat het tekstinvoegprogramma klaar is.

Als er echter iets is verbonden met de container (bijvoorbeeld de uitvoer van een andere container of een gewone gegevensstroom), wordt de container pas geactiveerd nadat het laatste record van die verbinding is ontvangen. Daarna laat hij alle aangesloten gereedschappen gegevens verwerken, voert hij een logboek uit en schakelt hij uit.

Aangesloten: de besturingscontainer wordt geactiveerd nadat het tekstinvoergereedschap al zijn records heeft uitgevoerd.

Een besturingscontainer voert alle logboekberichten uit van de tools die hij bevat. Dit betekent berichten, waarschuwingen, conversiefouten en vergissingen, samen met de activerings- en voltooiingsberichten van de besturingscontainer zelf.

Controleren van de uitvoerlog van de besturingscontainer in het resultatenvenster van het bladerprogramma

Dit systeem van activeren-via-input en loggen-via-output kan heel goed worden gebruikt, zoals we hieronder zullen zien.

Orkestratie

Soms wil je directe controle over welk deel van je workflow als eerste, als tweede, enz. wordt uitgevoerd. Natuurlijk zijn er dingen zoals de Block Until Done Tool, geketende Apps en Tools van de Alteryx Community. Deze nieuwe Control Container geeft je echter controle zonder workarounds, extra workflows of aparte downloads. Je kunt bijvoorbeeld eerst naar een bestand schrijven en dan datzelfde bestand lezen zonder veel gedoe:

Twee besturingscontainers zijn met elkaar verbonden via hun respectieve uitvoer en invoer. De tweede begint te werken als de eerste klaar is met alle verwerking
Het resultatenvenster toont de opeenvolgende uitvoering van elke besturingscontainer

In het bovenstaande voorbeeld wordt de eerste besturingscontainer geactiveerd aan het begin van de workflowrun. Zodra het tussenliggende uitvoerbestand is geschreven, wordt het logboek verzonden, gevolgd door het bericht 'Controlecontainer voltooid'. Dit is het laatste bericht dat door de Container wordt verzonden en de verbinding wordt gesloten. Aangezien de uitvoer van de eerste besturingscontainer is verbonden met de invoer van de tweede besturingscontainer, wordt de tweede besturingscontainer geactiveerd na het bericht 'Voltooid'. Het tussenliggende uitvoerbestand wordt niet langer gebruikt door de Output Data Tool in de eerste Container en kan zonder fouten worden gelezen door de Input Data Tool.

Voorwaardelijke uitvoering

Als je bepaalde delen van je proces wilt uitvoeren op basis van voorwaarden met betrekking tot je gegevens, kun je met Control Containers ook aan de slag.

Geen van de records uit het eerste invoerbestand komt overeen met een specifieke voorwaarde die is ingesteld in de filtertool - er worden geen records doorgelaten. Dit heeft tot gevolg dat de tweede invoertool zijn bestand niet leest, zoals te zien is in het resultatenvenster van de geselecteerde bladertool.
Het resultatenvenster laat zien dat de tweede besturingscontainer nooit is geactiveerd en dat de tweede invoertool zijn bestand dus niet heeft gelezen.

Gebruik van loggegevens

De logboekberichten van de besturingscontainer kunnen worden behandeld als gewone gegevens in een workflow. Dit betekent dat gebruikers deze logboekberichten kunnen gebruiken om:

  • specifieke delen van het logboek van de workflow op te slaan op een locatie van hun keuze, in een bestandsformaat van hun keuze
  • berichtinhoud te gebruiken om de uitvoering van downstream besturingscontainers te controleren

Het logboek opslaan

Loggegevens van de besturingscontainer opgeslagen in een csv-bestand
Records geschreven naar het csv-logbestand

Voorwaardelijke uitvoering met logboekgegevens

Soms wil je voorkomen dat downstreamverwerking plaatsvindt op basis van waarschuwingen of foutmeldingen van Tools. In het onderstaande voorbeeld wordt de tweede besturingscontainer niet uitgevoerd als er velden ontbreken in de invoer van de tool voor samenvoegen.

Er wordt een vlag gemaakt voor alle records uit het Control Container-logboek. Als ten minste één record overeenkomt met de ontbrekende vlaglogica, is de som niet langer 0 en komt deze niet door de filtertool. Hierdoor wordt de tweede besturingscontainer niet geactiveerd.

Voorwaarden

Er is slechts één voorwaarde voor het gebruik van Control Containers in Alteryx Designer 2023.1: de AMP-engine (Alteryx Multi-threaded Processing) moet zijn ingeschakeld. Voor Alteryx Designer 2023.1 is AMP standaard ingeschakeld.

Samenvatting

De nieuwe Control Container geeft gebruikers veel meer mogelijkheden om dynamische workflows te bouwen. Het biedt verbeterde orkestratie en voorwaardelijke uitvoeringsopties, evenals het gebruik van loggegevens in workflows.

Bannerfoto door Kaique Rocha: https://www.pexels.com/photo/man-jumping-on-intermodal-container-379964/


Bedankt voor het lezen van deze blog. Bekijk ook onze andere blogpagina voor meer blogs over Tableau, Alteryx en Snowflake.

Werk samen met een van onze consultants en maximaliseer het effect van uw gegevens.

Neem contact met ons op en we helpen je meteen verder.