Share via


Usar o Azure Databricks para análise em escala de nuvem no Azure

O Azure Databricks é uma plataforma de análise de dados otimizada para a plataforma de Serviços de Nuvem do Microsoft Azure. O Azure Databricks oferece dois ambientes para o desenvolvimento de aplicativos que fazem uso intensivo de dados:

  • O SQL do Azure Databricks, que permite a você executar consultas SQL ad hoc rápidas no seu data lake.

  • Azure Databricks Data Science & Engineering (às vezes chamado simplesmente de "Espaço de trabalho") é uma plataforma de análise baseada no Apache Spark. Ela se integra ao Azure para fornecer a instalação com um clique, fluxos de trabalho simplificados e um workspace interativo que permite a colaboração entre engenheiros de dados, cientistas de dados e engenheiros de machine learning.

Para análises em escala de nuvem, nos concentraremos na Engenharia de Data Science e Engenharia do Azure Databricks.

Visão geral

Para cada zona de destino de dados implantada, você tem a opção de implantar dois workspaces compartilhados. Um para ingestão agnóstica de dados e outro para análise.

  • O workspace de engenharia do Azure Databricks para ingestão e processamento se conecta ao Azure Data Lake por meio das entidades de serviço do Azure. Ele é chamado pela ingestão agnóstica de dados.
  • O workspace de análise do Azure Databricks pode ser provisionado para todos os cientistas de dados e equipes de operações de dados. Esse espaço de trabalho se conectaria ao Azure Data Lake usando a autenticação de passagem do Microsoft Entra. Você compartilha o workspace de ciência de dados e a análise do Azure Databricks na zona de destino de dados com todos os usuários que têm acesso ao workspace.

Se você tiver um mecanismo automatizado de ingestão agnóstica de dados, o workspace de engenharia do Azure Databricks usará apenas um instância do Azure Key Vault criada no grupo de recursos de serviço de metadados do Azure para executar pipelines de ingestão de dados do estado bruto para enriquecido.

O workspace de análise do Azure Databricks deve ter políticas de cluster que exijam a criação de clusters de alta simultaneidade. Esse tipo de cluster permite que o data lake seja explorado usando a passagem de credenciais do Microsoft Entra. Para obter mais informações, confira Configurações de controle de acesso e data lake no Azure Data Lake Storage.

Configurar o Azure Databricks

A implantação do Azure Databricks é parcialmente baseada em parâmetros por meio de um modelo do Azure Resource Manager e scripts YAML, mas também requer alguma intervenção manual para configurar todos os workspaces.

Todos os workspaces do Azure Databricks devem usar o plano premium, que fornece os seguintes recursos necessários:

  • Dimensionamento automático otimizado da computação
  • Autenticação de passagem de credenciais do Microsoft Entra
  • Autenticação condicional
  • Controle de acesso baseado em função para notebooks, clusters, trabalhos e tabelas
  • Logs de auditoria

Para se alinhar à análise em escala de nuvem, recomendamos que todos os workspaces tenham configuradas as seguintes opções de implantação padrão:

  • Os workspaces do Azure Databricks se conectam a uma instância externa de metastore do Apache Hive na zona de destino de dados.
  • Configurar cada workspace para enviar o log de diagnósticos do Databricks ao Azure Log Analytics no databricks-monitoring-rg
  • Implemente políticas de cluster para limitar a capacidade de criar clusters com base em um conjunto de regras. Para obter mais informações, confira Gerenciar políticas de cluster.
    • Defina várias políticas de cluster. Como parte do processo de integração, atribua a cada grupo de destino permissão de uso pela equipe de operações da zona de destino de dados. Por padrão, a permissão de criação de cluster é concedida somente à equipe de operações. Diferentes equipes ou grupos têm permissão para usar políticas de cluster.
    • Use políticas de cluster em combinação com pools do Azure Databricks para reduzir os tempos de início e de dimensionamento automático do cluster através da manutenção de um conjunto de instâncias ociosas e prontas para uso. Para obter mais informações, confira Pools.
  • Recupere todos os segredos operacionais do Azure Databricks, como credenciais SPN e cadeias de conexão, de uma instância do Azure Key Vault.
  • Configure um aplicativo empresarial separado por workspace para uso com o SCIM (Sistema de Gerenciamento de Usuários entre Domínios). Link para o workspace do Azure Databricks para controlar o acesso e as permissões para cada workspace. Para obter mais informações, consulte Provisionar usuários e grupos usando SCIM e configurar o provisionamento SCIM para o Microsoft Entra ID.

Aviso

Se houver uma falha ao configurar o workspace do Azure Databricks para usar a interface do SCIM do Azure Databricks, isso afetará a maneira de fornecer controles de segurança. Ele passará de um processo automatizado para um manual e interromperá todos os pipelines de CI/CD da implantação.

As seguintes opções de controle de acesso são definidas para todos os workspaces do Databricks:

  • Controle de visibilidade do workspace: habilitado (padrão: desabilitado)
  • Controle de visibilidade do cluster: habilitado (padrão: desabilitado)
  • Controle de visibilidade do trabalho: habilitado (padrão: desabilitado)

Talvez seja interessante habilitar as seguintes opções para o workspace de análise do Azure Databricks:

  • Exportação de notebook: desabilitado (padrão: habilitado)
  • Recursos da área de transferência da tabela do notebook: desabilitado (padrão: habilitado)
  • Controle de acesso à tabela: habilitado (padrão: desabilitado)
  • Acesso Condicional do Microsoft Entra.

Implantar o Azure Databricks

Se você implantar os workspaces do Azure Databricks como parte de uma nova implantação da zona de destino de dados. A imagem a seguir mostra um exemplo de fluxo de trabalho de implantação de um ambiente do Azure Databricks na análise em escala de nuvem.

Diagram of an Azure Databricks deployment into a data landing zone.

  1. O processo de provisionamento primeiro garante que uma instância de metastore do Apache Hive exista na zona de destino de dados. Se ele não encontrar o metastore do Apache Hive, ele encerrará e gerará um erro.
  2. Após ele localizar com êxito o metastore do Apache Hive, um workspace será criado.
  3. O processo verifica se há um workspace do Log Analytics na zona de destino de dados. Se não encontrar o workspace do Log Analytics, ele encerrará e gerará um erro.
  4. Para cada espaço de trabalho, ele cria um aplicativo Microsoft Entra e configura o SCIM.

Para o workspace de ingestão do Azure Databricks:

  1. O processo configura o workspace com o acesso da entidade de serviço.
  2. As políticas de engenharia de dados que foram definidas pela equipe de operações da plataforma de dados são implantadas.
  3. Se a equipe de operações da zona de destino de dados tiver solicitado pools ou clusters do Databricks, eles poderão ser integrados ao processo de implantação.
  4. Ele habilita opções de workspace específicas ao workspace de engenharia do Azure Databricks.

Para o workspace de análise do Azure Databricks:

  1. O processo implanta políticas de análise de dados que foram definidas pela equipe de operações da plataforma de dados.
  2. Se a equipe de operações da zona de destino de dados tiver solicitado pools ou clusters do Databricks, eles poderão ser integrados ao processo de implantação.
  3. Ele habilita opções de workspace específicas ao workspace de engenharia do Azure Databricks.

Metastore do Hive externo

Em uma implantação de workspace do Azure Databricks:

  • Um novo script de inicialização global define as configurações de metastore do Apache Hive para todos os clusters. Esse script é gerenciado pela nova API de scripts de inicialização global.

A nova API de scripts de inicialização global está em versão prévia pública. As versões prévias do recurso no Azure Databricks estão prontas para ambientes de produção, a equipe de suporte tem compatibilidade com eles. Para obter mais informações, confira Versões prévias do Azure Databricks.

  • Essa solução usa o Banco de Dados do Azure para MySQL para armazenar a instância de metastore do Apache Hive. Esse banco de dados foi escolhido por seu custo-benefício e sua alta compatibilidade com o Apache Hive.

Próximas etapas

A análise em escala de nuvem leva em conta as seguintes diretrizes para a integração do Azure Databricks: