Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Serviços de DevOps do Azure
Comece a criar um pipeline de dados com ingestão de dados, transformação de dados e treinamento de modelos.
Saiba como capturar dados de um arquivo CSV (valores separados por vírgula) e salvar os dados no Armazenamento de Blobs do Azure. Transforme os dados e salve-os em uma área de preparação. Em seguida, treine um modelo de aprendizado de máquina usando os dados transformados. Escreva o modelo para o armazenamento de blob como um arquivo de pickle do Python.
Pré-requisitos
Antes de começar, você precisa:
- Uma conta do Azure que tenha uma assinatura ativa. Crie uma conta gratuitamente.
- Uma organização ativa do Azure DevOps.
Inscreva-se no Azure Pipelines.
- A função de Administrador para conexões de serviço em seu projeto de DevOps do Azure. Saiba como adicionar a função de Administrador.
- Dados de sample.csv.
- Acesso à solução de pipeline de dados no GitHub.
- DevOps para Azure Databricks.
Provisionar recursos do Azure
Inicie sessão no portal do Azure.
No menu, selecione o botão Cloud Shell . Quando lhe for pedido, selecione a experiência Bash.
Nota
Você precisará de um recurso de Armazenamento do Azure para persistir todos os arquivos criados no Azure Cloud Shell. Ao abrir o Cloud Shell pela primeira vez, você será solicitado a criar um grupo de recursos, uma conta de armazenamento e um compartilhamento de Arquivos do Azure. Essa configuração é usada automaticamente para todas as futuras sessões do Cloud Shell.
Selecione uma região do Azure
Uma região é um ou mais datacenters do Azure dentro de uma localização geográfica. E.U.A. Leste, E.U.A. Oeste e Europa do Norte são alguns exemplos de regiões. Cada recurso do Azure, incluindo uma instância do Serviço de Aplicativo, recebe uma região.
Para facilitar a execução de comandos, comece selecionando uma região padrão. Depois de especificar a região padrão, os comandos posteriores usam essa região, a menos que você especifique uma região diferente.
No Cloud Shell, execute o seguinte
az account list-locations
comando para listar as regiões disponíveis na sua assinatura do Azure.az account list-locations \ --query "[].{Name: name, DisplayName: displayName}" \ --output table
Na coluna
Name
na saída, escolha uma região que esteja próxima de si. Por exemplo, escolhaasiapacific
ouwestus2
.Execute
az config
para definir sua região padrão. No exemplo a seguir, substitua<REGION>
pelo nome da região escolhida.az config set defaults.location=<REGION>
O exemplo a seguir define
westus2
como a região padrão.az config set defaults.location=westus2
Criar variáveis Bash
No Cloud Shell, gere um número aleatório. Você usará esse número para criar nomes globalmente exclusivos para determinados serviços na próxima etapa.
resourceSuffix=$RANDOM
Crie nomes globalmente exclusivos para sua conta de armazenamento e cofre de chaves. Os comandos a seguir usam aspas duplas, que instruem Bash a interpolar as variáveis usando a sintaxe embutida.
storageName="datacicd${resourceSuffix}" keyVault="keyvault${resourceSuffix}"
Crie mais uma variável Bash para armazenar os nomes e a região do seu grupo de recursos. No exemplo a seguir, substitua
<REGION>
pela região que você escolheu para a região padrão.rgName='data-pipeline-cicd-rg' region='<REGION>'
Crie nomes de variáveis para suas instâncias do Azure Data Factory e do Azure Databricks.
datafactorydev='data-factory-cicd-dev' datafactorytest='data-factory-cicd-test' databricksname='databricks-cicd-ws'
Criar recursos do Azure
Execute o seguinte
az group create
comando para criar um grupo de recursos usandorgName
.az group create --name $rgName
Execute o seguinte
az storage account create
comando para criar uma nova conta de armazenamento.az storage account create \ --name $storageName \ --resource-group $rgName \ --sku Standard_RAGRS \ --kind StorageV2
Execute o seguinte
az storage container create
comando para criar dois contêineresrawdata
eprepareddata
.az storage container create -n rawdata --account-name $storageName az storage container create -n prepareddata --account-name $storageName
Execute o seguinte
az keyvault create
comando para criar um novo cofre de chaves.az keyvault create \ --name $keyVault \ --resource-group $rgName
Crie uma nova fábrica de dados usando a interface do usuário do portal ou a CLI do Azure:
- Nome:
data-factory-cicd-dev
- Versão:
V2
- Grupo de recursos:
data-pipeline-cicd-rg
- Localização: A sua localização mais próxima
- Desmarque a seleção para Ativar Git.
Adicione a extensão Azure Data Factory.
az extension add --name datafactory
Execute o seguinte
az datafactory create
comando para criar um novo data factory.az datafactory create \ --name data-factory-cicd-dev \ --resource-group $rgName
Copie o ID de subscrição. Sua fábrica de dados usa essa ID mais tarde.
- Nome:
Crie uma segunda fábrica de dados usando a interface do usuário do portal ou a CLI do Azure. Você usa essa fábrica de dados para testes.
- Nome:
data-factory-cicd-test
- Versão:
V2
- Grupo de recursos:
data-pipeline-cicd-rg
- Localização: A sua localização mais próxima
- Desmarque a seleção para Ativar GIT.
Execute o seguinte
az datafactory create
comando para criar um novo data factory para teste.az datafactory create \ --name data-factory-cicd-test \ --resource-group $rgName
Copie o ID de subscrição. Sua fábrica de dados usa essa ID mais tarde.
- Nome:
Adicione um novo serviço Azure Databricks:
- Grupo de recursos:
data-pipeline-cicd-rg
- Nome do espaço de trabalho:
databricks-cicd-ws
- Localização: A sua localização mais próxima
Adicione a extensão Azure Databricks se ainda não estiver instalada.
az extension add --name databricks
Execute o seguinte
az databricks workspace create
comando para criar um novo espaço de trabalho.az databricks workspace create \ --resource-group $rgName \ --name databricks-cicd-ws \ --location eastus2 \ --sku trial
Copie o ID de subscrição. Seu serviço Databricks usa essa ID mais tarde.
- Grupo de recursos:
Carregue dados para o seu recipiente de armazenamento
- No portal do Azure, abra sua conta de armazenamento no
data-pipeline-cicd-rg
grupo de recursos. - Vá para Blob Service>Contêineres.
- Abra o
prepareddata
recipiente. - Carregue o ficheiro sample.csv .
Configurar o Cofre de Chaves
Você usa o Azure Key Vault para armazenar todas as informações de conexão para seus serviços do Azure.
Criar um token de acesso pessoal Databricks
- No portal do Azure, vá para Databricks e abra seu espaço de trabalho.
- Na interface do usuário do Azure Databricks, crie e copie um token de acesso pessoal.
Copie a chave da conta e a cadeia de conexão da sua conta de armazenamento
- Aceda à conta de armazenamento.
- Abra teclas de acesso.
- Copie a primeira chave e a cadeia de conexão.
Guardar valores no Cofre da Chave
Crie três segredos:
- databricks-token:
your-databricks-pat
- Chave de armazenamento:
your-storage-key
- StorageConnectString:
your-storage-connection
- databricks-token:
Execute o seguinte
az keyvault secret set
comando para adicionar segredos ao seu cofre de chaves.az keyvault secret set --vault-name "$keyVault" --name "databricks-token" --value "your-databricks-pat" az keyvault secret set --vault-name "$keyVault" --name "StorageKey" --value "your-storage-key" az keyvault secret set --vault-name "$keyVault" --name "StorageConnectString" --value "your-storage-connection"
Importar a solução de pipeline de dados
- Entre em sua organização do Azure DevOps e vá para seu projeto.
- Vá para Repos e importe sua versão bifurcada do repositório GitHub. Para obter mais informações, consulte Importar um repositório Git para seu projeto.
Adicionar uma conexão de serviço do Azure Resource Manager
- Crie uma conexão de serviço do Azure Resource Manager.
- Selecione Registro de aplicativo (automático) e Federação de identidade de carga de trabalho.
- Selecione a sua subscrição.
- Escolha o grupo de recursos data-pipeline-cicd-rg .
- Nomeie a conexão de serviço
azure_rm_connection
. - Selecione Conceder permissão de acesso a todos os pipelines. Você precisa ter a função de Administrador de Conexões de Serviço para selecionar essa opção.
Adicionar variáveis de pipeline
Crie um novo grupo de variáveis chamado
datapipeline-vg
.Adicione a extensão Azure DevOps se ainda não estiver instalada.
az extension add --name azure-devops
Entre na sua organização do Azure DevOps.
az devops login --org https://dev.azure.com/<yourorganizationname>
az pipelines variable-group create --name datapipeline-vg -p <yourazuredevopsprojectname> --variables \ "LOCATION=$region" \ "RESOURCE_GROUP=$rgName" \ "DATA_FACTORY_NAME=$datafactorydev" \ "DATA_FACTORY_DEV_NAME=$datafactorydev" \ "DATA_FACTORY_TEST_NAME=$datafactorytest" \ "ADF_PIPELINE_NAME=DataPipeline" \ "DATABRICKS_NAME=$databricksname" \ "AZURE_RM_CONNECTION=azure_rm_connection" \ "DATABRICKS_URL=<URL copied from Databricks in Azure portal>" \ "STORAGE_ACCOUNT_NAME=$storageName" \ "STORAGE_CONTAINER_NAME=rawdata"
Crie um segundo grupo de variáveis chamado
keys-vg
. Este grupo extrai variáveis de dados do Key Vault.Selecione Vincular segredos de um cofre de chaves do Azure como variáveis. Para obter mais informações, consulte Vincular um grupo de variáveis a segredos no Cofre de Chaves do Azure.
Autorize a assinatura do Azure.
Escolha todos os segredos disponíveis para adicionar como variáveis (
databricks-token
,StorageConnectString
,StorageKey
).
Configurar o Azure Databricks e o Azure Data Factory
Siga as etapas nas próximas seções para configurar o Azure Databricks e o Azure Data Factory.
Criar testscope no Azure Databricks
- No portal do Azure, vá para Cofre de chaves>Propriedades.
- Copie o nome DNS e o ID do recurso.
- Em seu espaço de trabalho do Azure Databricks, crie um escopo secreto chamado
testscope
.
Adicionar um novo cluster no Azure Databricks
- No espaço de trabalho do Azure Databricks, vá para Clusters.
- Selecione Create Cluster (Criar Cluster).
- Nomeie e salve seu novo cluster.
- Selecione o novo nome do cluster.
- Na cadeia de caracteres de URL, copie o conteúdo entre
/clusters/
e/configuration
. Por exemplo, na cadeia de caracteresclusters/0306-152107-daft561/configuration
, você copiaria0306-152107-daft561
. - Salve essa cadeia de caracteres para usar mais tarde.
Configurar seu repositório de código no Azure Data Factory
- No Azure Data Factory, vá para Autor e Monitor. Para obter mais informações, consulte Criar uma fábrica de dados.
- Selecione Configurar repositório de código e, em seguida, conecte seu repositório.
- Tipo de repositório: Azure DevOps Git
- Organização do Azure DevOps: sua conta ativa
- Nome do projeto: Seu projeto de pipeline de dados do Azure DevOps
- Nome do repositório Git: Use existing.
- Selecione a ramificação principal para colaboração.
- Defina /azure-data-pipeline/factorydata como a pasta raiz.
- Ramificação para a qual importar recurso: Selecione Usar existente e principal.
Vincular o Azure Data Factory ao seu cofre de chaves
- Na interface do usuário do portal do Azure, abra o cofre de chaves.
- Selecione Políticas de acesso.
- Selecione Adicionar Política de Acesso.
- Para Configurar a partir do modelo, selecione Key & Secret Management.
- Em Selecionar principal, pesquise pelo nome da sua fábrica de dados de desenvolvimento e adicione-o.
- Selecione Adicionar para adicionar suas políticas de acesso.
- Repita estas etapas para adicionar uma política de acesso para o data factory de teste.
Atualizar o serviço vinculado do cofre de chaves no Azure Data Factory
- Vá para Gerenciar>serviços vinculados.
- Atualize o cofre de chaves do Azure para se conectar à sua assinatura.
Atualizar o serviço vinculado de armazenamento no Azure Data Factory
- Vá para Gerenciar>serviços vinculados.
- Atualize o valor do Armazenamento de Blobs do Azure para se conectar à sua assinatura.
Atualizar o serviço vinculado do Azure Databricks no Azure Data Factory
- Vá para Gerenciar>serviços vinculados.
- Atualize o valor do Azure Databricks para se conectar à sua assinatura.
- Para o ID de Cluster Existente, insira o valor do cluster que guardou anteriormente.
Testar e publicar a fábrica de dados
- No Azure Data Factory, vá para Editar.
- Abrir
DataPipeline
. - Selecione Variáveis.
- Verifique se o
storage_account_name
se refere à sua conta de armazenamento no portal do Azure. Atualize o valor padrão, se necessário. Guardar as suas alterações. - Selecione Validar para verificar
DataPipeline
. - Selecione Publicar para publicar ativos da fábrica de dados na
adf_publish
ramificação do seu repositório.
Execute a sequência de CI/CD
Siga estas etapas para executar o pipeline de integração contínua e entrega contínua (CI/CD):
- Vá para a página Pipelines . Em seguida, escolha a ação para criar um novo pipeline.
- Selecione Azure Repos Git como o local do seu código-fonte.
- Quando a lista de repositórios aparecer, selecione seu repositório.
- Ao configurar o seu pipeline, selecione Arquivo YAML Existente do Azure Pipelines. Escolha o arquivo YAML: /azure-data-pipeline/data_pipeline_ci_cd.yml.
- Executar o pipeline. Ao executar seu pipeline pela primeira vez, talvez seja necessário dar permissão para acessar um recurso durante a execução.
Limpar recursos
Se você não vai continuar a usar este aplicativo, exclua seu pipeline de dados seguindo estas etapas:
- Exclua o
data-pipeline-cicd-rg
grupo de recursos. - Exclua seu projeto de DevOps do Azure.