Alteryx Engine e AMP: principais diferenças

Versão:
2022.3
Last modified: July 15, 2022

No artigo Alteryx AMP Engine, abordamos o Alteryx Engine e o novo Alteryx Multi-threaded Processing (AMP). Agora vamos nos aprofundar nas principais diferenças entre os dois.

Diferenças no processamento dos dados

A arquitetura do motor original (Alteryx Engine) permite essencialmente o processamento single-thread, em que os dados são processados sequencialmente registro por registro. Por outro lado, o novo conceito do AMP Engine permite o processamento multithread. Os registros são processados em pacotes de 4 MB para um tempo de execução mais rápido e de maneira paralela, o que pode afetar a ordem dos registros na saída.

Com múltiplos núcleos, a arquitetura do AMP permite o processamento multithread.

A arquitetura do motor original permite um processamento single-thread, em que os dados são processados registro por registro.

Diferenças nas entradas 

Ocorre um erro em arquivos CSV que contêm um campo com novas linhas entre aspas se você não ativar a opção adicional Somente AMP: campos entre aspas podem conter novas linhas.

Diferenças nos resultados

Ao executar um fluxo de trabalho com o AMP Engine, várias ferramentas podem fazer a saída dos registros em uma ordem diferente do que fariam usando o motor original. Algumas dessas ferramentas incluem...

  • Tabela de Referência Cruzada
  • Limpeza de Dados (ao remover linhas nulas)
  • Junção
  • Junções Múltiplas
  • Fórmula de Múltiplas Linhas
  • Gerador de Polígonos
  • Total Acumulado
  • Ordenar (a ordenação com caracteres especiais difere do motor original)
  • Sumarizar (quando a ação "Agrupar por" for utlizada)
  • Bloco
  • União
  • Exclusivo

Se seu fluxo de trabalho exigir que os registros das ferramentas acima estejam em uma ordem específica para operações posteriores, o Modo de compatibilidade do motor está disponível para manter a mesma classificação do motor original. Essa opção deve ser usada após uma análise cuidadosa do fluxo de trabalho em questão, principalmente ao migrar fluxos de trabalho que foram criados com o motor original para serem executados com o AMP Engine.

Funcionalidades ou configurações específicas que não foram convertidas para uso com o AMP revertem para o motor original para funcionar. Portanto, mesmo os fluxos de trabalho que contém tanto ferramentas convertidas quanto não convertidas para uso com o AMP são executados perfeitamente com o AMP habilitado.

Se você tem dúvidas sobre quais ferramentas foram convertidas para uso com o AMP, consulte Uso de ferramentas com o AMP.

Desempenho de leitura

Um arquivo YXDB que foi gravado utilizando o AMP Engine é lido mais rapidamente do que um YXDB gravado com o motor original.

Um arquivo YXDB que foi gravado utilizando o motor original é lido mais lentamente com o AMP habilitado. Os formatos ainda são compatíveis entre si.
Use os formatos de arquivo XLSX, CSV, YXDB e SQLite com o AMP, pois eles suportam dados de leitura multithread.

Há um custo de desempenho para converter registros e pacotes entre o motor original e o AMP ao ler arquivos ZIP. Isso pode fazer com que arquivos ZIP maiores sejam lidos significativamente mais lentamente com o AMP. 

DICA

Quando aberto em um editor de texto, um arquivo YXDB gravado com AMP apresenta "Alteryx e2 Database File" no início do conteúdo do arquivo. Um arquivo gravado com o motor original mostra apenas "Alteryx Database File" no mesmo lugar.

Desempenho de gravação

Para melhorar o desempenho do motor original (fazer o AMP gravar um arquivo YXDB criado com o motor original), acesse o menu Configuração da ferramenta Dados de Saída, onde há uma opção para criar uma versão de arquivo YXDB compatível com o Designer 18.1 e versões mais antigas.

Perfil de desempenho

O perfil de desempenho por ferramenta com o AMP está disponível no Designer versão 2021.3 ou superior.

Ferramentas Entrada de Texto e Campo Automático

O AMP aborda um problema antigo onde o tamanho de um campo criado com a ferramenta Entrada de Texto pode não ser grande o suficiente quando processado por uma ferramenta em etapas posteriores. Agora você não precisa adicionar ferramentas Selecionar para alterar os tipos de dados quando os dados resultantes excedem o comprimento do tipo de dados original. O AMP cria um campo com o tamanho máximo para cadeias de caracteres e números inteiros, de modo que as operações subsequentes tenham o espaço necessário para acomodar valores maiores nos campos.

Ferramenta Limitador

Embora a ferramenta Limitador não tenha sido totalmente convertida para o AMP, você pode usá-la juntamente com a ferramenta Baixar (use a Limitador primeiro).

Correspondência Parcial

A ferramenta Correspondência Parcial pode gerar resultados diferentes entre o motor original e o AMP. No AMP, a correspondência entre os registros é realizada usando um método alternativo. A ordem da correspondência pode ser diferente e a saída pode ficar na ordem inversa. Há um problema de desempenho conhecido na ferramenta Correspondência Parcial, que apresenta desempenho menor com o AMP do que com o motor original.

Ferramenta RegEx

O AMP usa padrões de codificação Unicode e Perl, em que os caracteres $, +, <, =, >, ^, | e ~ não se qualificam como pontuação. Ao usar a fórmula REGEX_Replace ou a ferramenta RegEx para filtrar pontuação usando o conjunto [[:punct:]] com o AMP, você precisa alterar a expressão.

Exemplo

REGEX_REPLACE([_CurrentField_],'[[:punct:]]|[\$\+<=>\^`\|~]','')

Ferramentas de agrupamento e de bloqueio

No motor original, o algoritmo da ferramenta Junção é baseado no método Sort-Merge, em que os registros sempre são exibidos de forma ordenada. Com o AMP, o novo algoritmo da ferramenta Junção é baseado no método Hash, de modo que os registros saem de maneira desordenada. Por exemplo:
Com o AMP, o algoritmo da ferramenta Junção é baseado na junção hash, de modo que a ordenação dos registros é diferente.

Entrada Esquerda (L):
Algoritmo de junção - entrada Esquerda.

Entrada Direita (R):
Algoritmo de junção - entrada Direita.

Se fizermos a junção pela coluna CustomerID usando o motor original, os registros serão ordenados pelo campo CustomerID:
Junção pela coluna CustomerID com o motor original (Alteryx Engine).

Com o AMP, os registros serão os mesmos, mas em uma ordem diferente:
Junção pela coluna CustomerID com o AMP Engine.

Se você precisa de uma saída ordenada, adicione a ferramenta Ordenar após a ferramenta Junção ou ative a configuração Modo de compatibilidade do motor em Configuração do fluxo de trabalho – Tempo de execução, abaixo da configuração Usar AMP Engine.

Macros iterativas

A diferença entre o motor original e o AMP pode ser vista quando ocorre um erro em uma ferramenta dentro da macro. Por ser single-thread, o motor original para se ocorrer um erro na macro. O AMP roda até que a saída iterativa esteja vazia ou até que o número máximo de iterações ocorra. Você pode encontrar estas situações, devido ao maior número de iterações:

  • O número de erros (se houver) pode ser maior com o AMP.
  • O número de registros pode ser maior com o AMP.
  • O esquema de saída pode ser diferente com o AMP.

Ferramenta Fórmula

As funções ConvertFromCodePage e ConvertToCodePage na ferramenta Fórmula aceitam uma cadeia de caracteres como parâmetro e retornam outra como resultado, portanto, não é possível distinguir a codificação da cadeia de caracteres. Há uma diferença nos resultados da ferramenta Fórmula quando essas funções são utilizadas com o motor original e com o AMP. 

O uso interno de cadeias codificadas em UTF-8 no AMP gera uma representação binária diferente dos dados de entrada. E, quando esses dados com codificação diferente são importados, não há como restaurar os dados originais. O motor original armazena cadeias de caracteres como cadeias codificadas em Latin-1 ou UTF-16 que foram usadas como buffer e possibilita que os dados sejam revertidos corretamente.

Add-ins para a ferramenta Fórmula

Os add-ins de fórmulas ainda não são compatíveis com o AMP. Se você precisar executar um fluxo de trabalho que contenha essa funcionalidade, execute-o usando o motor original.

Aplicativo analítico

Os aplicativos que usam a ferramenta Mapa para fazer seleções a partir de uma camada de referência espacial em um aplicativo analítico devem continuar usando o motor original. 
A depuração não está disponível com aplicativos analíticos ou macros.

Expect Equal

Com o Engine original, a ferramenta Expect Equal permanece como uma CReW macro. Com o AMP, ela funciona como uma ferramenta nativa.

Execução paralela de ramos e ordem de execução das ferramentas

Alguns fluxos de trabalho fazem a leitura de um arquivo e, ao final, gravam de volta no mesmo arquivo. Isso requer uma sequência que garanta que a leitura seja completada antes que a gravação comece. Da mesma forma, um fluxo de trabalho que grava várias planilhas em um arquivo XLSX precisa gravar uma planilha por vez. O Alteryx Designer fornece a ferramenta Bloquear até Concluir para ajudar a dividir o trabalho em fases que não fiquem uma no caminho da outra.

Ao trabalhar em um fluxo de trabalho com vários "ramos" (fluxos muito separados das entradas até as saídas), coloque a ferramenta Bloquear até Concluir no ramo que possui a ferramenta de entrada com o ID mais baixo. Isso faz com que cada ramo subsequente só seja executado quando o ramo anterior for concluído, garantindo que as ferramentas funcionem conforme o esperado.

Funcionalidade disponível

Para obter mais informações sobre o funcionamento específico de cada ferramenta, acesse Uso de ferramentas com o AMP.

Esta página foi útil?

Problemas com seu produto Alteryx? Visite a Comunidade Alteryx ou entre em contato com nossa Equipe de Suporte. Não é possível enviar este formulário? Envie-nos um e-mail.