Executar um Databricks Notebook com a Atividade do Databricks Notebook no Azure Data Factory

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

Neste tutorial, utiliza o portal do Azure para criar um pipeline do Azure Data Factory que executa um Databricks Notebook no cluster de tarefas do Databricks. Também transmite os parâmetros do Azure Data Factory ao Databricks Notebook durante a execução.

Vai executar os seguintes passos neste tutorial:

  • Criar uma fábrica de dados.

  • Crie um pipeline que utilize a atividade do Databricks Notebook.

  • Acionar uma execução de pipeline.

  • Monitorizar a execução do pipeline.

Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Para uma introdução e demonstração de onze minutos desta funcionalidade, veja o seguinte vídeo:

Pré-requisitos

  • Área de trabalho do Azure Databricks. Crie uma área de trabalho do Databricks ou utilize uma já existente. Crie um Python Notebook na sua área de trabalho do Azure Databricks. Em seguida, execute o Notebook e transmita os parâmetros ao mesmo através do Azure Data Factory.

Criar uma fábrica de dados

  1. Abra o browser Microsoft Edge ou Google Chrome. Atualmente, a IU do Data Factory é suportada apenas nos browsers Microsoft Edge e Google Chrome.

  2. Selecione Criar um recurso no menu do portal do Azure, selecione Integração e, em seguida, selecione Data Factory.

    Screenshot showing Data Factory selection in the New pane.

  3. Na página Criar Data Factory, na guia Noções básicas, selecione sua Assinatura do Azure na qual você deseja criar o data factory.

  4. Em Grupo de Recursos, efetue um destes passos:

    1. Selecione um grupo de recursos existente na lista suspensa.

    2. Selecione Criar novo e insira o nome de um novo grupo de recursos.

    Para saber mais sobre os grupos de recursos, veja Utilizar grupos de recursos para gerir os recursos do Azure.

  5. Em Região, selecione o local para o data factory.

    A lista mostra apenas as localizações suportadas pelo Data Factory e onde serão armazenados os seus metadados do Azure Data Factory. Os armazenamentos de dados associados (como o Armazenamento do Azure e o Banco de Dados SQL do Azure) e os cálculos (como o Azure HDInsight) que o Data Factory usa podem ser executados em outras regiões.

  6. Em Name, insira ADFTutorialDataFactory.

    O nome do Azure Data Factory deve ser globalmente exclusivo. Se você vir o seguinte erro, altere o nome do data factory (por exemplo, use <yourname>ADFTutorialDataFactory). Para regras de nomenclatura de artefactos do Data Factory, veja o artigo Data Factory – Regras de Nomenclatura.

    Screenshot showing the Error when a name is not available.

  7. Em Versão, selecione V2.

  8. Selecione Next: Git configuration e, em seguida, selecione Configure Git later check box.

  9. Selecione Rever + criar e selecione Criar após a validação ser aprovada.

  10. Após a conclusão da criação, selecione Ir para o recurso para navegar até a página Data Factory . Selecione o bloco Abrir o Estúdio do Azure Data Factory para iniciar o aplicativo de interface do usuário (UI) do Azure Data Factory em uma guia separada do navegador.

    Screenshot showing the home page for the Azure Data Factory, with the Open Azure Data Factory Studio tile.

Criar serviços ligados

Nesta secção, vai criar um serviço ligado do Databricks. Este serviço ligado contém as informações de ligação ao cluster do Databricks:

Criar um serviço ligado do Azure Databricks

  1. Na página inicial, alterne para a guia Gerenciar no painel esquerdo.

    Screenshot showing the Manage tab.

  2. Selecione Serviços vinculados em Conexões e, em seguida, selecione + Novo.

    Screenshot showing how to create a new connection.

  3. Na janela Novo serviço vinculado, selecione Compute>Azure Databricks e, em seguida, selecione Continuar.

    Screenshot showing how to specify a Databricks linked service.

  4. Na janela Novo serviço vinculado, conclua as seguintes etapas:

    1. Em Nome, digite AzureDatabricks_LinkedService.

    2. Selecione o espaço de trabalho Databricks apropriado no qual você executará seu bloco de anotações.

    3. Em Selecionar cluster, selecione Novo cluster de trabalho.

    4. Para a URL do Databrick Workspace, as informações devem ser preenchidas automaticamente.

    5. Para Tipo de autenticação, se você selecionar Token de acesso, gere-o do local de trabalho do Azure Databricks. Pode encontrar os passos aqui. Para Identidade de serviço gerenciado e Identidade gerenciada atribuída pelo usuário, conceda a função de Colaborador a ambas as identidades no menu Controle de acesso do recurso Azure Databricks.

    6. Em Versão do cluster, selecione a versão que deseja usar.

    7. Para Tipo de nó de cluster, selecione Standard_D3_v2 na categoria Uso geral (HDD) para este tutorial.

    8. Em Funções de trabalho, introduza 2.

    9. Selecione Criar.

      Screenshot showing the configuration of the new Azure Databricks linked service.

Criar um pipeline

  1. Selecione o botão + (mais) e, em seguida, selecione Pipeline no menu.

    Screenshot showing buttons for creating a new pipeline.

  2. Crie um parâmetro para ser utilizado no Pipeline. Mais tarde, transmita este parâmetro à Atividade do Databricks Notebook. No pipeline vazio, selecione a guia Parâmetros, selecione + Novo e nomeie-o como 'nome'.

    Screenshot showing how to create a new parameter.

    Screenshot showing how to create the name parameter.

  3. Na caixa de ferramentas Atividades, expanda Databricks. Arraste a atividade do Notebook da caixa de ferramentas Atividades para a superfície de desenho do pipeline.

    Screenshot showing how to drag the notebook to the designer surface.

  4. Nas propriedades da janela de atividade DatabricksNotebook, na parte inferior, conclua os seguintes passos:

    1. Mude para o separador Azure Databricks.

    2. Selecione AzureDatabricks_LinkedService (que você criou no procedimento anterior).

    3. Mudar para o separador Definições.

    4. Navegue para selecionar um caminho do Databricks Notebook. Vamos criar um Notebook e especificar o caminho aqui. O Caminho do Notebook é obtido ao seguir os próximos passos.

      1. Inicie seu espaço de trabalho do Azure Databricks.

      2. Crie uma Nova Pasta na Área de Trabalho e denomine-a adftutorial.

        Screenshot showing how to create a new folder.

      3. Captura de ecrã a mostrar como criar um novo bloco de notas. (Python), vamos chamá-lo de mynotebook em adftutorial Folder, clique em Criar.

        Screenshot showing how to create a new notebook.

        Screenshot showing how to set the properties of the new notebook.

      4. No Notebook recém-criado denominado "mynotebook", adicione o seguinte código:

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

        Screenshot showing how to create widgets for parameters.

      5. O caminho do bloco de anotações, neste caso, é /adftutorial/mynotebook.

  5. Volte à ferramenta de criação da IU do Data Factory. Navegue até a guia Configurações na atividade Bloco de Anotações1 .

    a. Adicione um parâmetro à atividade do Bloco de Anotações. Vai utilizar o mesmo parâmetro que adicionou anteriormente ao Pipeline.

    Screenshot showing how to add a parameter.

    b. Nomeie o parâmetro como entrada e forneça o valor como expressão @pipeline().parameters.name.

  6. Para validar o pipeline, selecione o botão Validar na barra de ferramentas. Para fechar a janela de validação, selecione o botão Fechar .

    Screenshot showing how to validate the pipeline.

  7. Selecione Publicar tudo. A IU do Data Factory publica as entidades (serviços ligados e pipeline) no serviço Azure Data Factory.

    Screenshot showing how to publish the new data factory entities.

Acionar uma execução de pipeline

Selecione Adicionar gatilho na barra de ferramentas e, em seguida, selecione Gatilho agora.

Screenshot showing how to select the 'Trigger now' command.

A caixa de diálogo Pipeline run solicita o parâmetro name . Utilize /path/filename como parâmetro aqui. Selecione OK.

Screenshot showing how to provide a value for the name parameters.

Monitorizar a execução do pipeline.

  1. Alterne para a guia Monitor . Confirme se você vê um pipeline em execução. A criação de um cluster de trabalhos do Databricks, onde o Notebook vai ser executado, demora aproximadamente entre 5 a 8 minutos.

    Screenshot showing how to monitor the pipeline.

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

  3. Para ver as execuções de atividade associadas à execução do pipeline, selecione o link pipeline1 na coluna Nome do pipeline .

  4. Na página Execuções de atividade, selecione Saída na coluna Nome da atividade para exibir a saída de cada atividade e você pode encontrar o link para logs do Databricks no painel Saída para logs do Spark mais detalhados.

  5. Você pode voltar para a visualização de execuções de pipeline selecionando o link Todas as execuções de pipeline no menu de trilha na parte superior.

Verificar a saída

Pode iniciar sessão na Área de trabalho do Azure Databricks, aceder a Clusters e ver o estado do Trabalho como execução pendente, em execução ou terminado.

Screenshot showing how to view the job cluster and the job.

Pode clicar no Nome do trabalho e navegar para ver mais detalhes. Numa execução bem-sucedida, pode validar os parâmetros transmitidos e o resultado do Python Notebook.

Screenshot showing how to view the run details and output.

O pipeline neste exemplo aciona uma atividade Databricks Notebook e transmite um parâmetro à mesma. Aprendeu a:

  • Criar uma fábrica de dados.

  • Criar um pipeline que utiliza uma atividade Databricks Notebook.

  • Acionar uma execução de pipeline.

  • Monitorizar a execução do pipeline.