Exercício: usar transformações de computação dentro do Azure Data Factory

Concluído

Em alguns casos, a transformação sem código em escala pode não atender às suas necessidades. Você pode usar o Azure Data Factory para ingerir dados brutos coletados de fontes diferentes e trabalhar com uma variedade de recursos de computação, como o Azure Databricks, o Azure HDInsight ou outros recursos de computação para reestruturar a TI conforme necessário.

ADF e Azure Databricks

A integração do Azure Databricks ao ADF permite adicionar notebooks do Databricks dentro de um pipeline do ADF para aproveitar as funcionalidades de análise e transformação de dados do Databricks. Você pode adicionar um notebook dentro de seu fluxo de trabalho de dados para estruturar e transformar dados brutos carregados no ADF de diferentes fontes. Depois que os dados são transformados usando o Databricks, você pode carregá-los para qualquer fonte de data warehouse.

Ingestão e transformação de dados usando as funcionalidades coletivas do ADF e do Azure Databricks envolvem essencialmente as seguintes etapas:

  1. Criar uma conta de armazenamento do Azure – a primeira etapa é criar uma conta de armazenamento do Azure para armazenar os dados ingeridos e transformados.

  2. Criar um Azure Data Factory – depois que você tiver a conta de armazenamento configurada, precisará criar seu Azure Data Factory usando o portal do Azure.

  3. Criar um pipeline de fluxo de trabalho de dados – depois que seu armazenamento estiver ativo e em execução, você começará criando um pipeline, em que a primeira etapa é copiar dados da sua fonte usando a atividade de Cópia do ADF. A atividade de cópia permite copiar dados de diferentes locais e fontes de nuvem.

  4. Adicionar o notebook do Databricks ao pipeline – depois que seus dados forem copiados para o ADF, adicione seu notebook do Databricks ao pipeline após a atividade de cópia. Este notebook pode conter a sintaxe e o código para transformar e limpar dados brutos conforme necessário.

  5. Executar análise em dados – agora que seus dados estão limpos e estruturados no formato necessário, você poderá usar notebooks do Databricks para obter mais treinamento ou analisá-lo para exibir os resultados necessários.

Você aprendeu o que é o Azure Data Factory e como sua integração ao Azure Databricks o ajuda a carregar e transformar seus dados. Agora vamos criar um fluxo de trabalho de dados de exemplo de ponta a ponta.

Como integrar notebooks do Azure Databricks ao pipeline do Azure Data Factory

Há várias tarefas que precisam ser executadas para integrar notebooks do Azure Databricks ao pipeline do Azure Data Factory, como segue:

  1. Gerar um token de acesso do Databricks.

  2. Gerar um Notebook do Databricks

  3. Criar serviços vinculados

  4. Criar um pipeline que usa a atividade Databricks Notebook.

  5. Disparar uma execução de pipeline.

    Observação

    As etapas a seguir pressupõem que já exista um cluster do Azure Databricks provisionado

Tarefa 1: Gerar um token de acesso do Databricks.

  1. No portal do Azure, clique em Grupos de recursos, em awrgstudxx e em awdbwsstudxx, em que xx são as iniciais do seu nome.

  2. Clique em Iniciar workspace

  3. Clique nas Configurações do usuário no canto inferior esquerdo do worskpace do Databricks.

  4. Clique em Configurações do usuário.

  5. Acesse a guia Tokens de Acesso e clique no botão Gerar Token.

  6. Insira uma descrição no comentário "Para integração ao ADF", defina o tempo de vida de dez dias e clique em Gerar

  7. Copie o token gerado, armazene-o no notebook e clique em Concluído.

Tarefa 2: Gerar um Notebook do Databricks

  1. À esquerda da tela, clique no ícone Workspace, na seta ao lado da palavra Workspace e em Criar, então clique em Pasta. Dê à pasta o nome de adftutorial e clique em Criar Pasta. A pasta adftutorial aparece no workspace.

  2. Clique na seta suspensa ao lado de adftutorial, em Criar e em Notebook.

  3. Na caixa de diálogo Criar Notebook, digite o nome de mynotebook, verifique se a linguagem indica Python e clique em Criar. O notebook com o título mynotebook é exibido/

  4. No notebook recém-criado, “mynotebook”, adicione o seguinte código:

    # Creating widgets for leveraging parameters, and printing the parameters
    
    dbutils.widgets.text("input", "","")
    dbutils.widgets.get("input")
    y = getArgument("input")
    print ("Param -\'input':")
    print (y)
    

    Observação

    que o caminho do notebook é /adftutorial/mynotebook

Tarefa 3: Criar serviços vinculados

  1. No Microsoft Edge, clique na guia do portal No portal do Azure, retorne ao Azure Data Factory e clique em Abrir Azure Data Factory Studio.

  2. No lado esquerdo da tela, clique no ícone Gerenciar.

  3. Em Conexões, clique em Serviços Vinculados.

  4. Em Serviço Vinculado, na parte superior da tela, clique em + Novo,

  5. Clique na guia Computação, clique em Azure Databricks e clique em Continuar.

  6. Na tela Novo Serviço Vinculado (Azure Databricks), preencha os detalhes a seguir e clique em Concluir

    • Nome: xx_dbls, em que xx são suas iniciais
    • Workspace do Databricks: awdbwsstudxx, em que xx são suas iniciais
    • Selecionar cluster: usar existente
    • Domínio/Região: deve ser preenchido
    • Token de Acesso: copie o token de acesso do bloco de notas e cole-o nesse campo
    • Escolha no cluster existente: awdbclstudxx, em que xx são suas iniciais
    • Deixe as outras opções nas configurações padrão

    Observação

    Ao clicar em Concluir, você retornará para a tela Criar e Monitorar, na qual o xx_dbls foi criado, com os outros serviços vinculados criados no exercício anterior.

Tarefa 4: Criar um pipeline que usa a atividade do Notebook Databricks.

  1. No lado esquerdo da tela, clique no ícone Criador e clique em Pipeline. Isso abre uma guia com um designer de pipeline.

  2. Na parte inferior do designer de pipeline, clique na guia Parâmetros e em + Novo

  3. Crie um parâmetro com o nome de nome e um tipo de cadeia de caracteres

  4. No menu Atividades, expanda Databricks.

  5. Clique e arrastar Notebook para a tela.

  6. Nas propriedades para a janela Notebook1 na parte inferior, conclua as seguintes etapas:

    • Alterne para a guia Azure Databricks.

    • Selecione xx_dbls que você criou no procedimento anterior.

    • Alterne para a guia Configurações e coloque /adftutorial/mynotebook no caminho do Notebook.

    • Expanda Parâmetros de Base e clique em + Novo

    • Crie um parâmetro com o nome input e o valor @pipeline().parameters.name

  7. No Notebook1, clique em Validar ao lado do botão Salvar como modelo. A janela como aparece à direita da tela que diz "Seu pipeline foi validado. Não foi encontrado nenhum erro. "Clique no >> para fechar a janela.

  8. Clique em Publicar Tudo para publicar o serviço vinculado e o pipeline.

    Observação

    Uma mensagem será exibida para indicar que a implantação foi bem-sucedida.

Tarefa 5: Disparar uma execução de pipeline

  1. No Notebook1, clique em Adicionar gatilho e clique em Disparar Agora ao lado do botão Depurar.

  2. A caixa de diálogo Execução de Pipeline solicita o parâmetro name. Use /path/filename como o parâmetro aqui. Clique em Concluir. Um círculo vermelho aparece acima da atividade Notebook1 na tela.

Tarefa 6: Monitorar o pipeline

  1. No lado esquerdo da tela, clique na guia Monitorar. Confirme que você vê uma execução de pipeline. Leva aproximadamente 5 a 8 minutos para criar um cluster de trabalho do Databricks onde o notebook é executado.

  2. Selecione Atualizar periodicamente para verificar o status da execução do pipeline.

  3. Para ver as execuções de atividade associadas com a execução de pipeline, selecione Exibir as Execuções de Atividade na coluna Ações.

Tarefa 7: Verificar a saída

  1. No Microsoft Edge, clique na guia mynotebook – Databricks

  2. No workspace do Azure Databricks, clique em Clusters e veja o status do trabalho como execução pendente, em execução ou concluído.

  3. Clique no cluster awdbclstudxx e no Log de Eventos para ver as atividades.

    Observação

    Você deverá ver um Tipo de Evento de Iniciando com a hora em que você disparou a execução de pipeline.