Escolha uma tecnologia de processamento de lote em Azure

As grandes soluções de dados usam frequentemente trabalhos de lote de longa duração para filtrar, agregar e preparar os dados para análise. Normalmente, estes trabalhos envolvem a leitura de ficheiros de origem de armazenamento escalável (como HDFS, Azure Data Lake Store e Azure Storage), processando-os e escrevendo a saída para novos ficheiros em armazenamento escalável.

A exigência fundamental destes motores de processamento de lotes consiste em reduzir os cálculos para lidar com um grande volume de dados. Ao contrário do processamento em tempo real, espera-se que o processamento de lotes tenha latências (o tempo entre a ingestão de dados e a computação de um resultado) que medem em minutos a horas.

Escolhas tecnológicas para processamento de lotes

Azure Synapse Analytics

Azure Synapse é um sistema distribuído projetado para realizar análises em grandes dados. Suporta um processamento paralelo maciço (MPP), o que o torna adequado para a análise de alto desempenho. Considere Azure Synapse quando tiver grandes quantidades de dados (mais de 1 TB) e estiver a executar uma carga de trabalho analítica que beneficiará do paralelismo.

Azure Data Lake Analytics

Data Lake Analytics é um serviço de trabalho de análise a pedido. Está otimizado para o processamento distribuído de grandes conjuntos de dados armazenados na Azure Data Lake Store.

  • Idiomas: U-SQL (incluindo extensões Python, R e C#).
  • Integra-se com a Azure Data Lake Store, as bolhas de armazenamento Azure, SQL do Azure Database e Azure Synapse.
  • O modelo de preços é por trabalho.

HDInsight

HDInsight é um serviço Hadoop gerido. Use-o para implantar e gerir os clusters Hadoop em Azure. Para o processamento de lote, pode utilizar Spark, Hive, Hive LLAP, MapReduce.

  • Idiomas: R, Python, Java, Scala, SQL
  • Autenticação Kerberos com Diretório Ativo, Controlo de acesso baseado em Apache Ranger
  • Dá-lhe o controlo total do cluster Hadoop

Azure Databricks

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

  • Idiomas: R, Python, Java, Scala, Spark SQL
  • Tempos de início rápidos do cluster, autoterminação, autoscaling.
  • Gere o aglomerado de faíscas para si.
  • Integração integrada com Armazenamento de Blobs do Azure, Azure Data Lake Storage (ADLS), Azure Synapse e outros serviços. Ver Fontes de Dados.
  • Autenticação do utilizador com Diretório Ativo Azure.
  • Cadernos baseados na Web para colaboração e exploração de dados.
  • Suporta clusters ativados pela GPU

Critérios-chave de seleção

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

  • Deseja um serviço gerido em vez de gerir os seus próprios servidores?

  • Deseja autor de uma lógica de processamento de lote declarativamente ou imperativamente?

  • Irá efetuar o processamento do lote em rajadas? Se sim, considere opções que lhe permitam encerrar automaticamente o cluster ou cujo modelo de preços é por trabalho de lote.

  • Precisa de consultar as lojas de dados relacionais juntamente com o processamento do seu lote, por exemplo, para procurar dados de referência? Se sim, considere as opções que permitem a consulta de lojas relacionais externas.

Matriz de capacidade

As tabelas seguintes resumem as principais diferenças de capacidades.

Capacidades gerais

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

[1] Com configuração manual.

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

Capacidades

Funcionalidade Azure Data Lake Analytics Azure Synapse HDInsight com Faísca HDInsight com Colmeia HDInsight com Hive LLAP Azure Databricks
Dimensionamento automático No No Yes Yes Yes Yes
Granularidade de escala Por trabalho Por aglomerado Por aglomerado Por aglomerado Por aglomerado Por aglomerado
Caching in-memory de dados No Yes Yes No Yes Yes
Consulta de lojas relacionais externas Yes No Yes No No Yes
Autenticação Azure AD SQL / Azure AD No Azure AD 1 Azure AD 1 Azure AD
Auditoria Yes Yes Não Sim 1 Sim 1 Yes
Segurança ao nível da linha No Sim2 Não Sim 1 Sim 1 No
Suporta firewalls Yes Yes Yes Sim 3 Sim 3 Não
Máscara de dados dinâmica No Yes Não Sim 1 Sim 1 No

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

[2] Filtrar apenas predicados. Ver Segurança de nível de linha

[3] Suportado quando utilizado num Rede Virtual Azure.

Contribuidores

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

Autor principal: