Azure Data Factory - Integração de Dados¶
Este documento explica como acessar o Azure Data Factory criado via Terraform, configurar os serviços vinculados (Linked Services) e criar os conjuntos de dados (Datasets) necessários para a movimentação de dados entre o Azure SQL Database, Azure Data Lake Storage Gen2 e o Azure Databricks.
1. Acessando o Azure Data Factory¶
Acesse o recurso Azure Data Factory criado por Terraform em seu ambiente Azure:
- Vá para o Portal Azure
- Na barra de pesquisa, digite "Data Factory"
- Selecione o recurso com o nome provisionado no Terraform.
- Clique em "Iniciar o Studio" (Open Azure Data Factory Studio) para acessar o ambiente de integração visual.
2. Configurando os Linked Services¶
Com o Azure Data Factory aberto:
- No menu à esquerda, clique em "Gerenciar" (Manage).
- Selecione "Serviços vinculados" (Linked Services).
- Clique em "Novo" para adicionar os serviços abaixo:
a) Azure SQL Database¶
- Tipo: Azure SQL Database
- Inscrição: Selecione sua subscrição Azure
- Banco de dados: Selecione o provisionado via Terraform
- Autenticação: Nome de usuário e senha (Admin do SQL Server)
b) Azure Data Lake Storage Gen2¶
- Tipo: Azure Data Lake Storage Gen2
- Inscrição: Selecione sua subscrição Azure
- Conta de Armazenamento: Selecione a provisionada no Terraform
- Autenticação: Conta de Serviço (Managed Identity ou Chave de Conta)
c) Azure Databricks¶
- Tipo: Azure Databricks
- Inscrição: Selecione sua subscrição Azure
- Workspace: Selecione o workspace Databricks criado via Terraform
- Autenticação: Token pessoal do Databricks
- Caso não tenha um token, consulte a Documentação do Azure Databricks
- Cluster: Selecione o cluster interativo existente (criado anteriormente)
3. Criando os Conjuntos de Dados (Datasets)¶
a) Dataset de Origem: Azure SQL Database¶
Crie um novo dataset para conectar-se às tabelas do banco de dados SQL hospedado no Azure:
- Tipo: Azure SQL Database
- Linked Service: Selecione o serviço criado acima
- Query/Table: Selecione a tabela desejada ou use parâmetros
Exemplo de parâmetro configurado:
JSON do Dataset:
JSON
{
"name": "DS_SQL_Parametro",
"properties": {
"linkedServiceName": {
"referenceName": "AzureSqlDatabase",
"type": "LinkedServiceReference"
},
"parameters": {
"tabela_nome": {
"type": "string"
}
},
"annotations": [],
"type": "AzureSqlTable",
"schema": [],
"typeProperties": {
"schema": "relacional",
"table": "avaliacoes"
}
}
}
b) Dataset de Destino: Azure Data Lake Storage Gen2 (Delimited Text)¶
Configure um dataset para exportar os dados em formato .csv
para a landing zone no Data Lake:
- Tipo: Delimited Text
- Linked Service: Azure Data Lake Storage Gen2
- Pasta de destino: landing-zone/
- Nome do arquivo: pode ser parametrizado (ex:
@dataset().nome_arquivo
) - Delimitador:
,
- First Row as Header: true
Exemplo de configuração:
JSON do Dataset:
JSON
{
"name": "DS_DEST_CSV",
"properties": {
"linkedServiceName": {
"referenceName": "AzureDataLakeStorage",
"type": "LinkedServiceReference"
},
"parameters": {
"nome_arquivo": {
"type": "string"
}
},
"annotations": [],
"type": "DelimitedText",
"typeProperties": {
"location": {
"type": "AzureBlobFSLocation",
"fileSystem": {
"value": "@concat(\n 'landing-zone/ecommerce/',\n trim(\n uriComponent(\n trim(\n split(trim(dataset().nome_arquivo), '.')[1]\n )\n )\n ),\n '.csv'\n)",
"type": "Expression"
}
},
"columnDelimiter": ",",
"escapeChar": "\\",
"firstRowAsHeader": true,
"quoteChar": "\""
},
"schema": []
}
}
⚠️ Importante: Certifique-se de testar a conexão de cada Linked Service e Dataset após a criação.