Motor de ingestão agnóstica de dados
Este artigo explica como você pode implementar cenários de mecanismo de ingestão agnóstica de dados usando uma combinação de PowerApps, Aplicativos Lógicos do Azure e tarefas de cópia controladas por metadados no Azure Data Factory.
Os cenários de mecanismo de ingestão de dados agnósticos geralmente se concentram em permitir que usuários não técnicos (não engenheiros de dados) publiquem ativos de dados em um Data Lake para processamento posterior. Para implementar esse cenário, você deve ter recursos de integração que permitam:
- Registo de ativos de dados
- Provisionamento de fluxo de trabalho e captura de metadados
- Agendamento de ingestão
Você pode ver como esses recursos interagem:
Figura 1: Interações dos recursos de registro de dados.
O diagrama a seguir mostra como implementar esse processo usando uma combinação de serviços do Azure:
Figura 2: Processo de automação de ingestão.
Registo de recursos de dados
Para fornecer os metadados usados para impulsionar a ingestão automatizada, você precisa do registro de ativos de dados. As informações capturadas contêm:
- Informações técnicas: Nome do ativo de dados, sistema de origem, tipo, formato e frequência.
- Informações de governança: Proprietário, Responsáveis, Visibilidade (para fins de descoberta) e Sensibilidade.
O PowerApps é usado para capturar metadados que descrevem cada ativo de dados. Use um aplicativo controlado por modelo para inserir as informações que são persistentes em uma tabela Dataverse personalizada. Quando os metadados são criados ou atualizados no Dataverse, ele aciona um fluxo do Automated Cloud que invoca etapas de processamento adicionais.
Figura 3: Registo de ativos de dados.
Fluxo de trabalho de provisionamento/captura de metadados
No estágio de fluxo de trabalho de provisionamento, você valida e persiste os dados coletados no estágio de registro para o metastore. As etapas técnicas e de validação de negócios são executadas, incluindo:
- Validação do feed de dados de entrada
- Acionamento do fluxo de trabalho de aprovação
- Processamento lógico para ativar a persistência dos metadados no repositório de metadados
- Auditoria de atividades
Figura 4: Fluxo de trabalho de registro.
Depois que as solicitações de ingestão são aprovadas, o fluxo de trabalho usa a API REST do Microsoft Purview para inserir as fontes no Microsoft Purview.
Fluxo de trabalho detalhado para integração de produtos de dados
Figura 5: Como novos conjuntos de dados são ingeridos (automatizados).
A Figura 5 mostra o processo de registro detalhado para automatizar a ingestão de novas fontes de dados:
- Os detalhes da fonte são registrados, incluindo ambientes de produção e fábrica de dados.
- As restrições de forma, formato e qualidade de dados são capturadas.
- As equipas de aplicação de dados devem indicar se os dados são classificados como sensíveis (Dados pessoais). Essa classificação orienta o processo durante o qual as pastas do data lake são criadas para ingerir dados brutos, processados e tratados. O termo de origem para "dados brutos" e "dados enriquecidos" é usado, e o termo para "nomes de produtos de dados" é "dados curados".
- O principal de serviço e os grupos de segurança são criados para dar acesso e ingerir um conjunto de dados.
- Um trabalho de ingestão é criado no metastore Data Factory da área de recepção de dados.
- Uma API insere a definição de dados no Microsoft Purview.
- Sujeito à validação da fonte de dados e aprovação pela equipe de operações, os detalhes são publicados em um metastore do Data Factory.
Agendamento de ingestão
Dentro do Azure Data Factory, tarefas de cópia controladas por metadados fornecem funcionalidade que permite que os pipelines de orquestração sejam conduzidos por linhas dentro de uma tabela de controlo armazenada no Banco de Dados SQL do Azure. Você pode usar a Copy Data Tool para pré-criar pipelines controlados por metadados.
Depois que um pipeline é criado, seu fluxo de trabalho de provisionamento adiciona entradas à Tabela de Controle para dar suporte à ingestão de fontes identificadas pelos metadados de registro de ativos de dados. Os pipelines do Azure Data Factory e a Azure SQL Database que contêm o seu metastore Control Table podem estar presentes em cada zona de aterragem de dados para criar e ingerir novas fontes de dados.
Figura 6: Agendamento da ingestão de ativos de dados.
Fluxo de trabalho detalhado para ingestão de novas fontes de dados
O diagrama a seguir mostra como extrair fontes de dados registradas em um metastore do Banco de dados SQL do Data Factory e como os dados são ingeridos pela primeira vez:
O pipeline mestre de ingestão do Data Factory lê as configurações de um metastore do Banco de dados SQL do Data Factory e, em seguida, é executado iterativamente com os parâmetros corretos. Os dados viajam da origem para a camada bruta no Azure Data Lake com pouca ou nenhuma alteração. A forma de dados é validada com base no metastore do Data Factory. Os formatos de arquivo são convertidos para os formatos Apache Parquet ou Avro e, em seguida, copiados para a camada enriquecida.
Os dados que estão sendo ingeridos se conectam a um espaço de trabalho de engenharia e ciência de dados do Azure Databricks, e uma definição de dados é criada dentro do metastore Apache Hive da zona de aterrissagem de dados.
Se você precisar usar um pool SQL sem servidor do Azure Synapse para expor dados, sua solução personalizada deverá criar exibições sobre os dados no lago.
Se precisar de criptografia a nível de linha ou de coluna, a sua solução personalizada deverá colocar dados no seu data lake, em seguida, ingerir dados diretamente em tabelas internas nos pools SQL e configurar a segurança apropriada na capacidade computacional dos pools SQL.
Metadados capturados
Ao usar a ingestão automatizada de dados, você pode consultar os metadados associados e criar painéis para:
- Rastreie tarefas e os carimbos de data/hora de carregamento de dados mais recentes para produtos de dados relacionados às suas funções específicas.
- Rastreie os produtos de dados disponíveis.
- Aumente os volumes de dados.
- Obtenha atualizações em tempo real sobre falhas de trabalho.
Os metadados operacionais podem ser usados para rastrear:
- Empregos, etapas do trabalho e suas dependências.
- Desempenho no trabalho e histórico de desempenho.
- Crescimento do volume de dados.
- Falhas no trabalho.
- Alterações nos metadados de origem.
- Funções de negócios que dependem de produtos de dados.
Use a API REST do Microsoft Purview para descobrir dados
As APIs REST do Microsoft Purview devem ser usadas para registrar dados durante a ingestão inicial. Você pode usar as APIs para enviar dados ao seu catálogo de dados logo após serem ingeridos.
Para obter mais informações, consulte como usar as APIs REST do Microsoft Purview.
Registar fontes de dados
Use a seguinte chamada de API para registrar novas fontes de dados:
PUT https://{accountName}.scan.purview.azure.com/datasources/{dataSourceName}
parâmetros de URI para a fonte de dados:
Nome | Necessário | Tipo | Descrição |
---|---|---|---|
accountName |
Verdadeiro | String | Nome da conta Microsoft Purview |
dataSourceName |
Verdadeiro | cadeia de caracteres | Nome da fonte de dados |
Usar a API REST do Microsoft Purview para registro
Os exemplos a seguir mostram como usar a API REST do Microsoft Purview para registrar fontes de dados com cargas úteis:
Registrar uma fonte de dados do Azure Data Lake Storage Gen2:
{
"kind":"AdlsGen2",
"name":"<source-name> (for example, My-AzureDataLakeStorage)",
"properties":{
"endpoint":"<endpoint> (for example, https://adls-account.dfs.core.windows.net/)",
"subscriptionId":"<azure-subscription-guid>",
"resourceGroup":"<resource-group>",
"location":"<region>",
"parentCollection":{
"type":"DataSourceReference",
"referenceName":"<collection-name>"
}
}
}
Registrar uma fonte de dados do Banco de dados SQL:
{
"kind":"<source-kind> (for example, AdlsGen2)",
"name":"<source-name> (for example, My-AzureSQLDatabase)",
"properties":{
"serverEndpoint":"<server-endpoint> (for example, sqlservername.database.windows.net)",
"subscriptionId":"<azure-subscription-guid>",
"resourceGroup":"<resource-group>",
"location":"<region>",
"parentCollection":{
"type":"DataSourceReference",
"referenceName":"<collection-name>"
}
}
}
Observação
O <collection-name>
é uma coleção atual que existe numa conta Microsoft Purview.
Criar uma verificação
Saiba como você pode criar credenciais para autenticar fontes no Microsoft Purview antes de configurar e executar uma verificação.
Use a seguinte chamada de API para verificar fontes de dados:
PUT https://{accountName}.scan.purview.azure.com/datasources/{dataSourceName}/scans/{newScanName}/
parâmetros de URI para uma verificação:
Nome | Necessário | Tipo | Descrição |
---|---|---|---|
accountName |
Verdadeiro | String | Nome da conta Microsoft Purview |
dataSourceName |
Verdadeiro | String | Nome da fonte de dados |
newScanName |
Verdadeiro | String | Nome da nova verificação |
Utilize a API REST do Microsoft Purview para digitalização
Os exemplos a seguir mostram como você pode usar a API REST do Microsoft Purview para verificar fontes de dados com cargas úteis:
Verificar uma fonte de dados do Azure Data Lake Storage Gen2:
{
"name":"<scan-name>",
"kind":"AdlsGen2Msi",
"properties":
{
"scanRulesetType":"System",
"scanRulesetName":"AdlsGen2"
}
}
Verificar uma fonte de dados do Banco de dados SQL:
{
"name":"<scan-name>",
"kind":"AzureSqlDatabaseMsi",
"properties":
{
"scanRulesetType":"System",
"scanRulesetName":"AzureSqlDatabase",
"databaseName": "<database-name>",
"serverEndpoint": "<server-endpoint> (for example, sqlservername.database.windows.net)"
}
}
Use a seguinte chamada de API para verificar fontes de dados:
POST https://{accountName}.scan.purview.azure.com/datasources/{dataSourceName}/scans/{newScanName}/run