Share via


Execute seu trabalho do Azure Databricks com computação sem servidor para fluxos de trabalho

Importante

A computação sem servidor para fluxos de trabalho está em Visualização Pública. Para obter informações sobre elegibilidade e habilitação, consulte Habilitar visualização pública de computação sem servidor.

Importante

Como a visualização pública da computação sem servidor para fluxos de trabalho não oferece suporte ao controle do tráfego de saída, seus trabalhos têm acesso total à Internet.

A computação sem servidor para fluxos de trabalho permite que você execute seu trabalho do Azure Databricks sem configurar e implantar a infraestrutura. Com a computação sem servidor, você se concentra na implementação de seus pipelines de processamento e análise de dados, e o Azure Databricks gerencia recursos de computação de forma eficiente, incluindo a otimização e o dimensionamento da computação para suas cargas de trabalho. O dimensionamento automático e o Photon são ativados automaticamente para os recursos de computação que executam seu trabalho.

A otimização automática da computação sem servidor para fluxos de trabalho otimiza automaticamente a computação selecionando recursos apropriados, como tipos de instância, memória e mecanismos de processamento com base na sua carga de trabalho. A otimização automática também tenta automaticamente trabalhos com falha.

O Databricks atualiza automaticamente a versão do Databricks Runtime para dar suporte a aprimoramentos e atualizações para a plataforma, garantindo a estabilidade de seus trabalhos do Azure Databricks. Para ver a versão atual do Databricks Runtime usada pela computação sem servidor para fluxos de trabalho, consulte Notas de versão de computação sem servidor.

Como a permissão de criação de cluster não é necessária, todos os usuários do espaço de trabalho podem usar a computação sem servidor para executar seus fluxos de trabalho.

Este artigo descreve o uso da interface do usuário de Trabalhos do Azure Databricks para criar e executar trabalhos que usam computação sem servidor. Você também pode automatizar a criação e a execução de trabalhos que usam computação sem servidor com a API de Trabalhos, o Databricks Asset Bundles e o SDK do Databricks para Python.

Requisitos

  • Seu espaço de trabalho do Azure Databricks deve ter o Unity Catalog habilitado.
  • Como a computação sem servidor para fluxos de trabalho usa o modo de acesso compartilhado, suas cargas de trabalho devem oferecer suporte a esse modo de acesso.
  • Seu espaço de trabalho do Azure Databricks deve estar em uma região com suporte. Consulte Regiões do Azure Databricks.

Criar um trabalho usando computação sem servidor

A computação sem servidor é suportada com os tipos de tarefas notebook, script Python, dbt e roda Python. Por padrão, a computação sem servidor é selecionada como o tipo de computação quando você cria um novo trabalho e adiciona um desses tipos de tarefas suportados.

Criar tarefa sem servidor

O Databricks recomenda o uso de computação sem servidor para todas as tarefas de trabalho. Você também pode especificar diferentes tipos de computação para tarefas em um trabalho, o que pode ser necessário se um tipo de tarefa não for suportado pela computação sem servidor para fluxos de trabalho.

Configurar um trabalho existente para usar computação sem servidor

Você pode alternar um trabalho existente para usar computação sem servidor para tipos de tarefas suportados ao editar o trabalho. Para alternar para computação sem servidor:

  • No painel lateral Detalhes do trabalho, clique em Trocar em Computação, clique em Novo, insira ou atualize as configurações e clique em Atualizar.
  • Clique Down Caretno menu suspenso Computação e selecione Sem servidor.

Alternar tarefa para computação sem servidor

Agendar um bloco de anotações usando computação sem servidor

Além de usar a interface do usuário Jobs para criar e agendar um trabalho usando computação sem servidor, você pode criar e executar um trabalho que usa computação sem servidor diretamente de um bloco de anotações Databricks. Consulte Criar e gerenciar trabalhos agendados de blocos de anotações.

Definir parâmetros de configuração do Spark

Para automatizar a configuração do Spark na computação sem servidor, o Databricks permite definir apenas parâmetros de configuração específicos do Spark. Para obter a lista de parâmetros permitidos, consulte Parâmetros de configuração do Spark suportados.

Você pode definir os parâmetros de configuração do Spark somente no nível da sessão. Para fazer isso, defina-os em um bloco de anotações e adicione o bloco de anotações a uma tarefa incluída no mesmo trabalho que usa os parâmetros. Consulte Obter e definir propriedades de configuração do Apache Spark em um bloco de anotações.

Configurar ambientes e dependências do bloco de anotações

Para gerenciar as dependências da biblioteca e a configuração do ambiente para uma tarefa do bloco de anotações, adicione a configuração a uma célula no bloco de anotações. O exemplo a seguir instala bibliotecas Python usando pip install arquivos de espaço de trabalho e com um requirements.txt arquivo e define uma spark.sql.session.timeZone variável de sessão:

%pip install -r ./requirements.txt
%pip install simplejson
%pip install /Volumes/my/python.whl
%pip install /Workspace/my/python.whl
%pip install https://some-distro.net/popular.whl
spark.conf.set('spark.sql.session.timeZone', 'Europe/Amsterdam')

Para definir o mesmo ambiente em vários blocos de anotações, você pode usar um único bloco de anotações para configurar o ambiente e, em seguida, usar o %run comando magic para executar esse bloco de anotações a partir de qualquer bloco de anotações que exija a configuração do ambiente. Consulte Usar %run para importar um bloco de anotações.

Configurar ambientes e dependências para tarefas que não sejam do bloco de anotações

Para outros tipos de tarefas suportados, como script Python, roda Python ou tarefas dbt, um ambiente padrão inclui bibliotecas Python instaladas. Para ver a lista de bibliotecas instaladas, consulte a seção Bibliotecas Python instaladas nas notas de versão da versão do Databricks Runtime na qual a computação sem servidor para implantação de fluxos de trabalho é baseada. Para ver a versão atual do Databricks Runtime usada pela computação sem servidor para fluxos de trabalho, consulte Notas de versão de computação sem servidor. Você também pode instalar bibliotecas Python se uma tarefa exigir uma biblioteca que não esteja instalada. você pode instalar bibliotecas Python a partir de arquivos de espaço de trabalho, volumes do Catálogo Unity ou repositórios de pacotes públicos. Para adicionar uma biblioteca ao criar ou editar uma tarefa:

  1. No menu suspenso Ambiente e Bibliotecas, clique aoÍcone Editarlado do Ambiente padrão ou clique em + Adicionar novo ambiente.

    Editar ambiente padrão

  2. Na caixa de diálogo Configurar ambiente, clique em + Adicionar biblioteca.

  3. Selecione o tipo de dependência no menu suspenso em Bibliotecas.

  4. Na caixa de texto Caminho do Arquivo , insira o caminho para a biblioteca.

  • Para uma roda Python em um arquivo de espaço de trabalho, o caminho deve ser absoluto e começar com /Workspace/.

  • Para uma roda Python em um volume do catálogo Unity, o caminho deve ser /Volumes/<catalog>/<schema>/<volume>/<path>.whl.

  • Para um requirements.txt arquivo, selecione PyPi e digite -r /path/to/requirements.txt.

    Adicionar bibliotecas de tarefas

  1. Clique em Confirmar ou + Adicionar biblioteca para adicionar outra biblioteca.
  2. Se estiver a adicionar uma tarefa, clique em Criar tarefa. Se estiver editando uma tarefa, clique em Salvar tarefa.

Configurar a otimização automática de computação sem servidor para não permitir novas tentativas

A otimização automática da computação sem servidor para fluxos de trabalho otimiza automaticamente a computação usada para executar seus trabalhos e tenta novamente trabalhos com falha. A otimização automática é habilitada por padrão, e o Databricks recomenda deixá-la habilitada para garantir que cargas de trabalho críticas sejam executadas com êxito pelo menos uma vez. No entanto, se você tiver cargas de trabalho que devem ser executadas no máximo uma vez, por exemplo, trabalhos que não são idempotentes, você pode desativar a otimização automática ao adicionar ou editar uma tarefa:

  1. Ao lado de Tentativas, clique em Adicionar (ou Ícone Editar se já existir uma política de novas tentativas).
  2. Na caixa de diálogo Política de Repetição, desmarque Ativar otimização automática sem servidor (pode incluir tentativas adicionais).
  3. Clique em Confirmar.
  4. Se estiver a adicionar uma tarefa, clique em Criar tarefa. Se estiver editando uma tarefa, clique em Salvar tarefa.

Monitorar o custo de trabalhos que usam computação sem servidor para fluxos de trabalho

Você pode monitorar o custo de trabalhos que usam computação sem servidor para fluxos de trabalho consultando a tabela do sistema de uso faturável. Esta tabela é atualizada para incluir atributos de usuário e carga de trabalho sobre custos sem servidor. Consulte Referência da tabela do sistema de uso faturável.

Ver detalhes das suas consultas do Spark

A computação sem servidor para fluxos de trabalho tem uma nova interface para exibir informações detalhadas de tempo de execução para suas instruções do Spark, como métricas e planos de consulta. Para exibir informações de consulta para instruções do Spark incluídas em seus trabalhos executados em computação sem servidor:

  1. Clique em Ícone Fluxos de TrabalhoFluxos de trabalho na barra lateral.
  2. Na coluna Nome, clique no nome do trabalho para o qual deseja exibir informações.
  3. Clique na execução específica para a qual você deseja exibir informações.
  4. Na seção Computação do painel lateral Execução de tarefas, clique em Histórico de consultas.
  5. Você será redirecionado para o Histórico de Consultas, pré-filtrado com base na ID de execução da tarefa em que você estava.

Para obter informações sobre como usar o histórico de consultas, consulte Histórico de consultas.

Limitações

Para obter uma lista de limitações de computação sem servidor para fluxos de trabalho, consulte Limitações de computação sem servidor nas notas de versão de computação sem servidor.