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, veja Habilitar visualização pública de computação sem servidor.

Importante

Como a versão prévia pública da computação sem servidor para fluxos de trabalho não dá 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 executar o trabalho do Azure Databricks sem configurar e implantar infraestrutura. Com a computação sem servidor, você se concentra na implementação de pipelines de processamento de dados e análise, e o Azure Databricks gerencia com eficiência os recursos de computação, incluindo a otimização e o dimensionamento da computação para suas cargas de trabalho. O escalonamento automático e o Photon são habilitados automaticamente para os recursos de computação que executam seu trabalho.

A computação sem servidor para otimização automática de 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 suportar melhorias e atualizações na plataforma, garantindo ao mesmo tempo a estabilidade dos seus trabalhos do Azure Databricks. Para ver a versão atual do Databricks Runtime usada pela computação sem servidor para fluxos de trabalho, veja Notas de versão da computação sem servidor.

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

Esse artigo descreve a utilização da UI do Azure Databricks Jobs para criar e executar trabalhos que utilizam computação sem servidor. Você também pode automatizar a criação e execução de trabalhos que usam computação sem servidor com a API Jobs, Databricks Asset Bundles e o SDK do Databricks para Python.

Requisitos

  • O seu espaço de trabalho Azure Databricks deve ter o Catálogo Unity 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.
  • O seu espaço de trabalho Azure Databricks deve estar numa região suportada. Confira Regiões do Azure Databricks.

Crie um trabalho usando computação sem servidor

A computação sem servidor é compatível com notebook, script Python, dbt e roda Python tipos de tarefas. 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 compatíveis.

Criar tarefa sem servidor

A Databricks recomenda a utilização 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 poderá ser necessário se um tipo de tarefa não for compatível com a 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 compatíveis ao editar o trabalho. Para mudar para a computação sem servidor:

  • No painel lateral Detalhes do trabalho, clique em Trocar em Calcular, clique em Novo, insira ou atualize quaisquer configurações e clique em Atualizar.
  • Clique em Cursor para Baixo no menu suspensoComputação e selecione Sem servidor.

Mudar tarefa para computação sem servidor

Agende um notebook usando computação sem servidor

Além de usar a UI 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 notebook do Databricks. Consulte Criar e gerenciar trabalhos agendados do notebook.

Definir parâmetros de configuração do Spark

Você pode definir os parâmetros de configuração do Spark a seguir, mas apenas no nível da sessão, definindo-os em um notebook que faz parte do trabalho. Veja Obtenha e defina propriedades de configuração do Apache Spark em um notebook.

  • spark.sql.legacy.timeParserPolicy
  • spark.sql.session.timeZone
  • spark.sql.shuffle.partitions

Configurar ambientes e dependências de notebook

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

%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 notebooks, você pode usar um único notebook para configurar o ambiente e, em seguida, usar o comando %run magic para executar esse notebook a partir de qualquer notebook que exija a configuração do ambiente. Veja Use %run para importar um notebook.

Configurar ambientes e dependências para tarefas que não sejam de notebook

Para outros tipos de tarefas suportadas, como script Python, roda Python ou tarefas dbt, um ambiente padrão inclui bibliotecas Python instaladas. Para ver a lista de bibliotecas instaladas, veja a seção Bibliotecas Python instaladas nas notas de versão da versão do Databricks Runtime na qual sua computação sem servidor para implantação de fluxos de trabalho se baseia. Para ver a versão atual do Databricks Runtime usada pela computação sem servidor para fluxos de trabalho, veja Notas de versão da computação sem servidor. Você também poderá 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 em Editar ícone ao lado 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 um Python Wheel 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 Unity Catalog, o caminho deve ser /Volumes/<catalog>/<schema>/<volume>/<path>.whl.

  • Para um arquivo requirements.txt, 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 você estiver adicionando uma tarefa, clique em Criar tarefa. Se você estiver editando uma tarefa, clique em Salvar tarefa.

Configure a otimização automática de computação sem servidor para proibir novas tentativas

A computação sem servidor para otimização automática de fluxos de trabalho otimiza automaticamente a computação usada para executar seus trabalhos e tenta executar novamente trabalhos com falha. A otimização automática é habilitada por padrão e a 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ê poderá desativar a otimização automática ao adicionar ou editar uma tarefa:

  1. Ao lado de Repetições, clique em Adicionar (ou Editar ícone se já existir uma política de novas tentativas).
  2. Na caixa de diálogo Retry Policy, desmarque Habilitar otimização automática sem servidor (pode incluir novas tentativas).
  3. Clique em Confirmar.
  4. Se você estiver adicionando uma tarefa, clique em Criar tarefa. Se você estiver editando uma tarefa, clique em Salvar tarefa.

Monitore 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. Essa tabela é atualizada para incluir atributos de usuário e carga de trabalho sobre custos sem servidor. Confira Referência da tabela do sistema de uso faturável.

Ver detalhes de suas consultas do Spark

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

  1. Clique no Ícone de fluxos de trabalhoFluxos de Trabalho na barra lateral.
  2. Na coluna Nome, clique no nome do trabalho para o qual você deseja exibir insights.
  3. Clique na execução específica para a qual você deseja exibir insights.
  4. Na seção Computação do painel do lado de Execução da tarefa, clique no Histórico de consultas.
  5. Você é 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 o histórico de consultas, confira Histórico de consultas.

Limitações

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