- Notas de versão
- Antes de começar
- Introdução
- Gerenciamento de acesso
- Como trabalhar com aplicativos de processo
- Criação de apps de processo
- Carregamento de dados
- Carregamento de dados
- Retrieving the SQL Server database parameters
- Configuração de uma conta do SQL Server para upload de dados usando um extrator
- Carregamento de dados usando o Theobald Xtract Universal
- Requisitos do Sistema
- Configuração do DataBridgeAgent
- Configuring CData Sync
- Adição de um conector personalizado ao DataBridgeAgent
- Uso do DataBridgeAgent com o Conector SAP para o Acelerador de Descoberta Purchase-to-Pay
- Uso do DataBridgeAgent com o Conector SAP para o Acelerador de Descoberta Order-to-Cash
- Personalização de aplicativos de processo
- Transformações de dados
- ModeloUm modelo de aplicativo
- Modelo de aplicativo Purchase-to-Pay
- Modelo de aplicativo Order to Cash
- Guia básico de solução de problemas
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 fornece uma introdução ao dbt. Para 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. Esse pacote pm-utils contém funções utilitárias e macros para projetos 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® melhora 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.
- Baixe o código-fonte (zip) da versão de
pm-utils. - Extraia o arquivo
zipe renomeie para a pasta pm_utils. - Exporte as transformações do editor de transformações de dados em linha e extraia os arquivos.
- Substitua a pasta pm_utils das transformações exportadas pela nova pasta pm_utils .
- Compacte o conteúdo das transformações novamente e importe-o no editor Transformações de dados .
Estrutura da pasta
The transformations of a process app consist of a dbt project. Below is a description of the contents of a dbt project folder.
| Pasta/Arquivo | Contém |
|---|---|
dbt_packages\ | o pacote pm_utils e suas macros. |
logs\ | logs created when running 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.
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_objects,3_events,4_event_logs,5_business_logic.
Confira Estrutura das transformações.
The .sql files are written in Jinja SQL, which allows you to insert Jinja statements inside plain SQL queries. When dbt runs all .sql files, each .sql file results in a new view or table in the database.
Normalmente, os arquivos .sql têm a seguinte estrutura:
-
Instruções Com: uma ou mais instruções com 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.
-
Consulta principal: a consulta que define a nova tabela.
-
Consulta final: normalmente uma consulta como
Select * from tableé usada no final. Isso facilita a criação de subseleções durante a depuração.
Para obter mais dicas sobre como escrever transformações de forma eficaz, consulte Dicas para escrever SQL
Adição de tabelas de origem
To add a new source table to the dbt project, it must be listed in models\schema\sources.yml. This way, other models can refer to it by using {{ source(var("schema_sources"), 'My_table_raw') }}. See the illustration below for an example.
Each new source table must be listed in sources.yml.
O sufixo _raw é adicionado aos nomes das tabelas de origem ao carregar dados. Por exemplo, uma tabela chamada my_table deve ser mencionada como my_table_raw.
Para obter informações mais detalhadas, consulte a documentação oficial do dbt em Origens.
Saída de dados
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ê deseja adicionar novos campos ao seu aplicativo de processo, pode usar os campos personalizados que estão disponíveis para o aplicativo de processo. Mapeie os campos nas transformações para os campos personalizados para disponibilizá-los na saída. Certifique-se de que os campos personalizados sejam nomeados na saída conforme descrito no modelo de dados do aplicativo de processo.
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 normalmente são usadas em transformações do Process Mining. Para obter mais informações sobre as macros pm_utils , consulte ProcessMining-pm-utils.
A ilustração a seguir mostra um exemplo de código Jinja chamando a macro pm_utils.optional() .
sementes
Sementes são arquivos csv usados para adicionar tabelas de dados às suas transformações. Para obter informações detalhadas, consulte a documentação oficial do dbt sobre sementes jinja.
No Process Mining, isso é normalmente usado para facilitar a configuração de mapeamentos em suas transformações.
After editing seed files, these files are not automatically updated in the database immediately. To instruct dbt to load the new seed file contents into the database, run either
-
dbt seed- que atualizará apenas as tabelas do arquivo seed ou -
dbt build- que também executará todos os modelos e testes.Observação:If the seed file had no data records initially, the data types in the database might not have been set correctly. To fix this, call
run dbt seed --full-refresh. This will also update the set of columns in the database.
Activity configuration
O arquivo activity_configuration.csv é usado para definir campos adicionais relacionados às atividades. activity_order é usado como um desempate quando dois eventos estão acontecendo no mesmo carimbo de data/hora. A ilustração a seguir mostra um exemplo de arquivo activity_configuration.csv .
Testes
A pasta models\schema\ contém um conjunto de arquivos .yml que definem os 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.
When you edit transformations, make sure to update the tests accordingly. The tests can be removed if desired.