Escolher uma tecnologia de processamento em lotes no Azure

As soluções de Big Data geralmente utilizam trabalhos em lote de execução prolongada para filtrar, agregar e preparar os dados para análise. Normalmente, esses trabalhos envolvem a leitura de arquivos de origem do armazenamento escalonável (como HDFS, Azure Data Lake Storage e Armazenamento do Microsoft Azure), seu processamento e a gravação da saída em novos arquivos no armazenamento escalonável.

O requisito fundamental desses mecanismos de processamento em lote é a expansão da computação para lidar com um grande volume de dados. Conforme o esperado, o processamento em lote, ao contrário do processamento em tempo real, tem latências (o tempo entre a ingestão de dados e a computação de um resultado) que variam de minutos a horas.

Opções de tecnologia para o processamento em lotes

Azure Synapse Analytics

O Azure Synapse é um sistema distribuído projetado para executar análises em dados grandes. Ele dá suporte a MPP (processamento altamente paralelo), que o torna adequado para executar análise de alto desempenho. Considere o uso do Azure Synapse quando tiver grandes volumes 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 do trabalho de análise sob demanda. Ele é otimizado para o processamento distribuído de grandes conjuntos de dados armazenados no Azure Data Lake Store.

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

HDInsight

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

  • Linguagens: R, Python, Java, Scala, SQL
  • Autenticação Kerberos com Active Directory, controle de acesso baseado no Apache Ranger
  • Dá a você controle total do cluster do Hadoop

Azure Databricks

O Azure Databricks é uma plataforma de análise baseada no Apache Spark. Você pode considerá-lo como o "Spark como serviço". É a maneira mais fácil de usar o Spark na plataforma Azure.

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

Principais critérios de seleção

Para restringir as opções, comece respondendo a estas perguntas:

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

  • Você deseja criar a lógica do processamento em lotes de forma declarativa ou imperativa?

  • Você executará o processamento em lotes em intermitências? Em caso afirmativo, considere opções que permitam que você encerre o cluster automaticamente ou cujo modelo de preço seja por trabalho em lotes.

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

Matriz de funcionalidades

As tabelas a seguir resumem as principais diferenças em funcionalidades.

Funcionalidades gerais

Recurso Azure Data Lake Analytics Azure Synapse HDInsight Azure Databricks
É um serviço gerenciado Sim Sim Sim 1 Sim
Armazenamento de dados relacionais Sim Sim Não Sim
Modelo de preços Por trabalho em lotes Por hora de cluster Por hora de cluster Unidade do Databricks2 + hora de cluster

[1] Com a configuração manual.

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

Funcionalidades

Recurso Azure Data Lake Analytics Azure Synapse HDInsight com Spark HDInsight com Hive HDInsight com Hive LLAP Azure Databricks
Dimensionamento automático Não No Sim Sim Sim Yes
Granularidade de expansão Por trabalho Por cluster Por cluster Por cluster Por cluster Por cluster
Cache em memória de dados Não Sim Sim Não Sim Yes
Consulta por meio de relational stores externos Sim Não Sim Não 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 Não Sim 1 Sim 1 Sim
Segurança em nível de linha Não Sim2 Não Sim 1 Sim 1 Sim
Dá suporte a firewalls Sim Sim Sim Sim 3 Sim 3 Sim
Mascaramento de dados dinâmicos Não Sim Não Sim 1 Sim 1 Sim

[1] Exige o uso de um cluster HDInsight ingressado no domínio.

[2] Somente predicados de filtro. Confira Segurança em Nível de Linha

[3] Compatível quando usado em uma Rede Virtual do Azure.

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Autor principal:

Próximas etapas