process-mining
2024.10
true
UiPath logo, featuring letters U and I in white
Process Mining
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 11 de nov de 2024

Transformações

Folder structure

As transformações de um aplicativo de processo consistem em um projeto dbt . Abaixo está uma descrição do conteúdo de uma pasta de projeto dbt .

Pasta/Arquivo

Contém

dbt_packages\

o pacote pm_utils e suas macros.

logs\

logs criados ao executar dbt.

macros\

macros personalizadas.

models\

.sql arquivos que definem as transformações.

models\schema\

.yml arquivos que definem testes nos dados.

seed

.csv arquivos com definições de configuração.

dbt_project.yml

as configurações do projeto dbt.

Veja o exemplo abaixo.



dbt_project.yml

O arquivo dbt_project.yml contém as configurações do projeto dbt que definem suas transformações. A seção vars contém variáveis que são usadas nas transformações.

Formato de data/hora

Cada modelo de aplicativo contém variáveis que determinam o formato para análise de dados de data/hora. Essas variáveis devem ser ajustadas se os dados de entrada tiverem um formato de data/hora diferente do esperado.

Transformações de dados

As transformações de dados são definidas em arquivos .sql no diretório models\ . As transformações de dados são organizadas em um conjunto padrão de subdiretórios:
  • 1_input,
  • 2_entities,
  • 3_events,
  • 4_event_logs,
  • 5_business_logic.
Os arquivos .sql são escritos em SQL Jinja, o que permite inserir instruções Jinja dentro de consultas SQL simples. Quando dbt executa todos os arquivos .sql , cada arquivo .sql resulta em uma nova exibição ou tabela no banco de dados.
Normalmente, os arquivos .sql têm a seguinte estrutura:
  1. Instruções With: Uma ou mais instruções with para incluir as subtabelas necessárias.

    • {{ ref(‘My_table) }} refere-se à tabela definida por outro .sql arquivo.
    • {{ source(var("schema_sources"), 'My_table') }} refere-se a uma tabela de entrada.
  2. Consulta principal: a consulta que define a nova tabela.
  3. Consulta final: Normalmente, uma consulta como Select * from table é usada no final. Isso facilita fazer subseleções durante a depuração.
    docs image

Para obter mais dicas sobre como escrever transformações de forma eficaz, consulte Dicas para escrever SQL

Adding source tables

Para adicionar uma nova tabela de origem ao projeto dbt , ela deve estar listada em models\schema\sources.yml. Dessa forma, outros modelos podem se referir a ele usando {{ source(var("schema_sources"), 'My_table') }}. Veja a ilustração abaixo para um exemplo.


Importante: Cada nova tabela de origem deve ser listada em sources.yml.

Para obter mais informações sobre o uso de tabelas de origem em consultas, consulte Estrutura das transformações:1. Entrada. Para obter informações mais detalhadas, consulte a documentação oficial do dbt sobre Origens.

Data output

As transformações de dados devem gerar o modelo de dados exigido pelo aplicativo correspondente; cada tabela e campo esperados devem estar presentes.

Na prática, isso significa que as tabelas no models\5_business_logic não devem ser excluídas. Além disso, os campos de saída nas consultas correspondentes não devem ser removidos.

Se você quiser adicionar novos campos ao seu aplicativo de processo, você pode adicionar esses campos nas transformações.

Dica:
Você pode usar os comandos dbt docs para gerar um site de documentação para seu projeto dbt e abri-lo em seu navegador padrão. O site de documentação também contém um gráfico de linhagem que fornece um diagrama de relacionamento de entidade com uma representação gráfica da ligação entre cada tabela de dados em seu projeto.
Para obter informações detalhadas, consulte a documentação oficial do dbt em dbt docs.

Macros

As macros facilitam a reutilização de construções SQL comuns. Para obter informações detalhadas, consulte a documentação oficial do dbt sobre macros Jinja.

pm_utils

O pacote pm-utils contém um conjunto de macros que são normalmente usados em transformações do Process Mining. Para obter mais informações sobre as macros pm_utils , consulte ProcessMining-pm-utils.
Abaixo está um exemplo de código Jinja chamando a macro pm_utils.optional() .


sementes

As semente são arquivos csv que são usados para adicionar tabelas de dados às suas transformações. Para informações detalhadas, consulte a documentação oficial do dbt sobre semente jinja.

Em Process Mining, isso é normalmente usado para facilitar a configuração de mapeamentos em suas transformações.

Depois de editar os arquivos seed, esses arquivos não são atualizados automaticamente no banco de dados imediatamente. Para instruir o dbt a carregar o novo conteúdo do arquivo seed no banco de dados, execute

  • dbt seed - que atualizará apenas as tabelas do arquivo seed ou
  • dbt build - que também executará todos os modelos e testes.
    Nota: Se o arquivo seed não tiver registros de dados inicialmente, os tipos de dados no banco de dados podem não ter sido configurados corretamente. Para corrigir isso, chame run dbt seed --full-refresh. Isso também atualizará o conjunto de colunas no banco de dados.

Activity configuration

O arquivo activity_configuration.csv é usado para definir campos adicionais relacionados às atividades. activity_order é usado como desempate quando dois eventos estão acontecendo no mesmo carimbo de data/hora. Veja a ilustração abaixo para um exemplo.


Testes

A pasta models\schema\ contém um conjunto de arquivos .yml que definem testes. Estes validam a estrutura e o conteúdo dos dados esperados. Para obter informações detalhadas, consulte a documentação oficial do dbt sobre testes.
Quando as transformações são executadas no Process Mining, apenas os testes em sources.yml são executados em cada ingestão de dados. Isso é feito para verificar se os dados de entrada estão formatados corretamente.
Observação: ao editar transformações, certifique-se de atualizar os testes adequadamente. Os testes podem ser removidos, se desejado.

Projetos dbt

As transformações de dados são usadas para transformar dados de entrada em dados adequados para o Process Mining. As transformações no Process Mining são escritas como projetos dbt .

Esta página apresenta uma introdução ao dbt. Para obter informações mais detalhadas, consulte a documentação oficial do dbt.

pm-utils package

Os modelos de aplicativos do Process Mining vêm com um pacote dbt chamado pm_utils. Este pacote pm-utils contém funções e macros de utilitário para projetos de dbt do Process Mining. Para obter mais informações sobre o pm_utils , consulte ProcessMining-pm-utils.

Atualização da versão pm-utils usada para seu modelo de aplicativo

A UiPath® aprimora constantemente o pacote pm-utils , adicionando novas funções.
Quando uma nova versão do pacote pm-utils é lançada, é recomendável atualizar a versão usada em suas transformações para garantir que você esteja usando as funções e macros mais recentes do pacote pm-utils .
Você encontra o número da versão mais recente do pacote pm-utils no painel Versões do ProcessMining-pm-utils.
Siga estas etapas para atualizar a versão pm-utils em suas transformações.
  1. Baixe o código-fonte (zip) da versão de pm-utils.
  2. Extraia o arquivo zip e renomeie a pasta para pm_utils.
  3. Exporte as transformações do editor de transformações de dados embutidos e extraia os arquivos.

  4. Substitua a pasta pm_utils das transformações exportadas pela nova pasta pm_utils .

  5. Compacte o conteúdo das transformações novamente e importe-as no editor Transformações de dados .

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.