Extrair Transformar Load (ETL) visão geral da definição
As definições de ETL extraem dados de uma tabela de origem, transformam os dados conforme desejado e carregam os dados em uma ou mais tabelas de destino. As definições de ETL também são compatíveis com estruturas de dados aninhadas.
As definições de ETL especificam como mapear dados
A importação de dados começa com um fonte de dados . Uma fonte de dados especifica o tipo de dados que você deseja extrair e sua localização. Depois que os dados são extraídos, eles são carregados em uma tabela de preparação ou conjunto de importação. Em seguida, uma definição de ETL especifica como mapear os dados em uma ou mais tabelas de destino em ServiceNow. Você pode criar definições de ETL que mapeiam dados para ServiceNow mantendo as restrições de chave estrangeira e de chave exclusiva.
As entidades ETL representam dados de entrada e tabelas de destino
- Os dados de entrada são os dados que foram carregados na tabela de preparação.
- As tabelas de destino são ServiceNow tabelas onde você deseja que seus dados acabem.
A imagem a seguir mostra um exemplo de uma definição de ETL para computador. Esta definição tem três entidades associadas a ela. A entidade Conjunto para importação representa os dados de entrada, os dados carregados de um arquivo do Excel em uma tabela de preparação. A tabela da entidade do conjunto de importação está definida como Nenhum . Computador e Disco são as entidades de destino. Representam dois ServiceNow Tabelas chamadas Computadores [sn_etl_demo_computer] e Disco [sn_etl_demo_disk]. Os dados da tabela de preparação serão carregados nas duas tabelas de destino.
Entidades de entrada
As entidades de entrada representam os dados extraídos que foram carregados na tabela de preparação. As entidades de entrada têm campos de entidade ETL para representar as colunas da tabela de conjunto de importação ou, para um modo de coluna única, chaves JSON. Você pode criar campos de entidade selecionando Novo Na guia Campos de entidade ETL.
A imagem a seguir mostra a entidade Conjunto de importação da definição de ETL do computador. A entidade Conjunto para importação representa os dados de entrada carregados de um arquivo do Excel na tabela de preparação Computadores [sn_elt_demo_computers_stage]. A entidade Conjunto para importação tem um campo Entidade para cada coluna na tabela de preparação.
Entidades de destino
As entidades de destino representam as tabelas de destino em ServiceNow. A imagem a seguir mostra a entidade de destino do disco da definição de ETL do computador. O disco representa a tabela de destino sn_etl_demo_disk. Ele tem campos de entidade para representar colunas da tabela e valores temporários para aplicar operações.
Cada campo de entidade tem um nome, um campo de referência ou caminho, um campo de aglutinação e uma ação de coerção.
- Campo de referência
Campo especial em que uma linha em uma tabela se refere a uma linha em uma segunda tabela armazenando o sys_id da linha da segunda tabela como um valor de coluna na linha da primeira tabela. Embora a referência seja armazenada como sys_id, quando os dados são importados, eles são importados como valores. Para campos de referência, mapeie os valores dos campos exclusivos da tabela referenciada para os dados importados. Em última análise, o sistema usará os valores para encontrar o registro associado, recuperar o sys_id e armazená-lo na coluna apropriada.
Por exemplo, na Entidade de disco mencionada anteriormente, a tabela sn_etl_demo_disk tem uma referência ao computador usando o campo de referência computador . No entanto, os dados importados contêm apenas o ID do computador, que pode ser usado para identificar exclusivamente o computador. Na entidade Disco, o caminho do campo referenciado (computer.id) especifica a coluna da tabela Computador também.
Se houver mais de um campo para uma chave exclusiva, todos os valores de campo deverão ser fornecidos adicionando vários campos. Por exemplo, na imagem a seguir, a tabela sn_etl_demo_worker tem uma referência à tabela sn_etl_demo_address. A tabela sn_etl_demo_address tem três colunas (número, rua e CEP) como chaves exclusivas. Portanto, a entidade do trabalhador tem três campos para colunas de chave exclusivas. Campos de referência também podem ser usados como aglutinar campos.
- Aglutinar campo
Especifica a chave exclusiva para uma entidade de destino. O sistema usa o campo aglutinar para determinar se um registro existente deve ser atualizado ou inserido um novo. Se o campo aglutinar for verdadeiro e o sistema encontrar um registro existente com o mesmo valor de campo aglutinar, ele atualizará o registro existente. Para a tabela sn_etl_demo_disk mostrada anteriormente, na Entidade de disco, a coluna Número de série é exclusiva para todas as entradas de disco, portanto, é especificada como um campo aglutinar.
- Ação de coerção
- Para campos de referência, especifica o que fazer quando uma linha com o valor de chave exclusivo não existe na tabela referenciada. A ação de coerção tem as seguintes opções.
- Criar uma nova linha na tabela referenciada e atribua-a à linha de destino.
- Ignorar o valor do campo de referência. A coluna de referência é salva como vazia.
- Rejeitar o valor do campo de referência. Ele não é inserido ou atualizado na tabela de destino.
As operações de entidade do Mecanismo de transformação robusta (RTE) modificam os dados
As operações de entidade modificam os dados de entrada antes de armazená-los em uma tabela de destino. A imagem a seguir mostra um exemplo de uma operação de concatenação. Na definição de ETL para computador, os dados importados contêm um tipo e uma versão. No entanto, a tabela de destino requer um valor que seja uma combinação do tipo e da versão. Portanto, a entidade do computador usa uma operação de concatenação para concatenar tipo e versão. As operações de entidade só podem ser realizadas em campos de entidade, portanto, neste exemplo, dois campos temporários são criados para copiar os valores do conjunto de importação.
Os mapeamentos de entidade DE RTE especificam mapeamentos de campo
Depois de criar as entidades de entrada e de destino com seus campos de entidade e operações, crie um mapeamento de entidade de RTE para cada entidade de destino. Os mapeamentos de entidade DE RTE especificam como os campos na entidade de entrada são mapeados para campos nas entidades de destino. Na definição de ETL para computador, há dois mapeamentos de entidade de RTE. Um, mostrado na imagem a seguir, mapeia os dados de entrada para os campos de entidade do computador. O outro mapeia dados de entrada para os campos Entidade de disco.
Dados aninhados em definições de ETL
{
"id": "123",
"name": "Jhon",
"emails": [
{
"address": "jhon@servicenow.com",
"type": "work"
},
{
"address": "jhon@gmail.com",
"type": "personal"
}
]
}
- Entidades de entrada com dados aninhados
As entidades de entrada para dados aninhados também representam os dados JSON de entrada. Como importações sem dados aninhados, elas têm campos de entidade para representar os valores. A única diferença é que os caminhos com matrizes são especificados com um asterisco (*). A imagem a seguir mostra como os caminhos para endereço e tipo são especificados como e-mails[*].address e e-mails[*].type.
- Entidades de destino com dados aninhados
As entidades de destino com dados aninhados também são como as entidades de destino em uma importação normal, exceto que o caminho termina com um asterisco (*). O asterisco informa ao sistema para processar a entidade como uma matriz. Na entidade E-mail, o caminho de destino é especificado como e-mail[*]. Aglutinar campos, campos de referência e ações de coerção funcionam da mesma forma que nas importações normais.
- Mapeamentos de entidade DE RTE com dados aninhados
Os mapeamentos de entidade DE RTE para dados aninhados são como mapeamentos normais. Qualquer campo da hierarquia pode ser atribuído à entidade.