em 03-31-2021 04:14 PM
Todo bom desenvolvedor de processos de ETL (Extract, Transform and Load) está acostumado com ferramentas em que é possível controlar a ordem e sequência das operações de transformação. Isto é – muitas vezes você vai querer executar um segundo processo com base no que aconteceu no primeiro, ou talvez impedir que algo seja executado caso haja algum erro/falha, enfim...
Nós sabemos que o Alteryx Designer é uma verdadeira Ferrari nas mãos de um analista de dados, mas que seu uso e foco principal não é ser uma ferramenta de ETL. Portanto, para quem vem de outras bandas, às vezes fica a pergunta – será que é possível fazer esse controle no Alteryx?
Então vamos lá – existe sim algumas maneiras de estabelecer esse controle. Hoje nesse artigo eu vou focar no uso das famosas CREW Runner Macros. Para quem não conhece, as CREW Macros são macros desenvolvidas por terceiros e não diretamente pela Alteryx, mas são amplamentes utilizadas na comunidade e em casos reais de empresas. Um dos desenvolvedores dessas macros inclusive trabalha como engenheiro de software na própria Alteryx (Adam Riley). Após tanta cobrança por parte dos usuários, a Alteryx decidiu suportar oficialmente o uso das Runner Macros – uma sub-classe do pacote das CREW Macros – você confere o anúncio oficial aqui
O download dessas macros pode ser feito através deste link, onde você encontrará um arquivo instalador .yxwz (uma Aplicação Analítica), e consequentemente será guiado para a instalação das CREW Macros.
Qual a utilidade das Runner Macros?
A premissa por trás destas macros é a necessidade de rodar módulos do Alteryx em sequência. Elas vem em dois estilos:
A Macro Runner tem um único valor de configuração que é o caminho para o workflow/app que você deseja rodar. Ela roda o módulo, e se bem-sucedido sem erros, faz a saída do log para a âncora S (Sucesso). Em caso de erros na execução do módulo, a saída produz um logo na âncora F (Falha)
O Conditional Runner trabalha da mesma maneira, mas aceita uma âncora de entrada. A macro vai rodar o módulo Alteryx exatamente quando receber dados de entrada. Se dados de entrada não são recebidos, nada é executado.
Isso significa que as duas em combinação podem rodar uma série de módulos onde o próximo módulo na cadeia só irá ser executado se o anterior foi bem-sucedido.
Uma outra maneira é utilizando a List Runner Macro. Essa macro irá ler uma lista de módulos Alteryx (workflows/apps) como uma entrada e rodá-los um após o outro (na sequência da lista). Há também na configuração um check box que você pode marcar caso queira parar o processo quando houver erro de um dos módulos. A saída da macro são todos os logs em um campo indicando “Sucesso” ou “Falha”.
A macro List Runner é interessante de ser utilizada em conjunto com uma ferramenta “Diretório”, pois você pode listar todos os módulos em uma pasta e passar o caminho deles por um campo para a entrada da macro.
Por último, temos uma ferramenta chamada Log Parser. Os logs dos módulos executados pelas ferramentas apresentadas acima são exibidos em apenas uma única célula. Utilizando a macro Log Parser, essa célula é destrinchada em uma tabela muito mais fácil de ler e entender as mensagens exibidas pelos módulos.
Bom, se você tem alguma experiência ou se este artigo pode ser útil de alguma forma, deixe seu comentário abaixo! É interessante ver diferentes implementações desse pacote de macros visto que o seu bom uso pode elevar o Alteryx a outro nível. Até a próxima!