Escolher uma tecnologia de processamento em lote no Azure

As soluções de Big Data geralmente usam trabalhos em lote de longa duração para filtrar, agregar e preparar os dados para análise. Normalmente, esses trabalhos envolvem a leitura de arquivos de origem do armazenamento escalável (como HDFS, Azure Data Lake Store e Armazenamento do Azure), o processamento deles e a gravação da saída em novos arquivos no armazenamento escalável.

O requisito fundamental desses mecanismos de processamento em lote é dimensionar cálculos para lidar com um grande volume de dados. Ao contrário do processamento em tempo real, espera-se que o processamento em lote tenha latências (o tempo entre a ingestão de dados e a computação de um resultado) que medem em minutos a horas.

Opções de tecnologia para processamento em lote

Azure Synapse Analytics

O Azure Synapse é um sistema distribuído projetado para executar análises em dados grandes. Suporta o processamento paralelo em massa (MPP), que faz com que este serviço seja adequado para executar análises de elevado desempenho. Considere o Azure Synapse quando você tiver grandes quantidades de dados (mais de 1 TB) e estiver executando uma carga de trabalho de análise que se beneficiará do paralelismo.

Azure Data Lake Analytics

O Data Lake Analytics é um serviço de trabalho de análise sob demanda. Ele é otimizado para processamento distribuído de grandes conjuntos de dados armazenados no Azure Data Lake Store.

  • Linguagens: U-SQL (incluindo extensões Python, R e C#).
  • Integra-se com o Azure Data Lake Store, blobs de Armazenamento do Azure, Banco de Dados SQL do Azure e Azure Synapse.
  • O modelo de preços é por trabalho.

HDInsight

O HDInsight é um serviço Hadoop gerenciado. Use-o para implantar e gerenciar clusters Hadoop no Azure. Para processamento em lote, você pode usar Spark, Hive, Hive LLAP, MapReduce.

  • Linguagens: R, Python, Java, Scala, SQL
  • Autenticação Kerberos com Ative Directory, controle de acesso baseado em Apache Ranger
  • Oferece controle total do cluster Hadoop

Azure Databricks

O Azure Databricks é uma plataforma de análise baseada no Apache Spark. Você pode pensar nisso como "Faísca como um serviço". É a maneira mais fácil de usar o Spark na plataforma Azure.

  • Linguagens: R, Python, Java, Scala, Spark SQL
  • Tempos de início de cluster rápidos, terminação automática, dimensionamento automático.
  • Gerencia o cluster do Spark para você.
  • Integração interna com o Armazenamento de Blobs do Azure, o Azure Data Lake Storage (ADLS), o Azure Synapse e outros serviços. Consulte Fontes de dados.
  • Autenticação do usuário com o Microsoft Entra ID.
  • Blocos de notas baseados na Web para colaboração e exploração de dados.
  • Suporta clusters habilitados para GPU

Principais critérios de seleção

Para restringir as escolhas, comece por responder a estas perguntas:

  • Você quer um serviço gerenciado em vez de gerenciar seus próprios servidores?

  • Deseja criar lógica de processamento em lote declarativa ou imperativamente?

  • Você realizará o processamento em lote em rajadas? Em caso afirmativo, considere as opções que permitem encerrar automaticamente o cluster ou cujo modelo de preços é por trabalho em lote.

  • Você precisa consultar armazenamentos de dados relacionais junto com seu processamento em lote, por exemplo, para pesquisar dados de referência? Se sim, considere as opções que permitem a consulta de repositórios relacionais externos.

Matriz de capacidades

As tabelas a seguir resumem as principais diferenças nos recursos.

Capacidades gerais

Funcionalidade Azure Data Lake Analytics Azure Synapse HDInsight Azure Databricks
É serviço gerenciado Sim Sim Sim 1 Sim
Armazenamento de dados relacional Sim Sim No Sim
Modelo de preços Por trabalho em lote Por hora de cluster Por hora de cluster Databricks Unidade2 + hora do cluster

[1] Com configuração manual.

[2] Uma Unidade Databricks (DBU) é uma unidade de capacidade de processamento por hora.

Capacidades

Funcionalidade Azure Data Lake Analytics Azure Synapse HDInsight com Spark HDInsight com Hive HDInsight com Hive LLAP Azure Databricks
Dimensionamento automático No No Sim Sim Sim Sim
Granularidade de expansão Por tarefa Por cluster Por cluster Por cluster Por cluster Por cluster
Cache de dados na memória Não Sim Sim No Sim Sim
Consulta de repositórios relacionais externos Sim No Sim No No Sim
Autenticação Microsoft Entra ID SQL / Microsoft Entra ID Não Microsoft Entra ID1 Microsoft Entra ID1 Microsoft Entra ID
Auditoria Sim Sim No Sim 1 Sim 1 Sim
Segurança ao nível da linha Não Sim2 No Sim 1 Sim 1 Sim
Suporta firewalls Sim Sim Sim Sim 3 Sim 3 Sim
Máscara de dados dinâmica Não Sim No Sim 1 Sim 1 Sim

[1] Requer a utilização de um cluster HDInsight associado a um domínio.

[2] Apenas predicados de filtro. Consulte Segurança em nível de linha

[3] Suportado quando utilizado numa Rede Virtual do Azure.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

Próximos passos