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:
- Zoiner Tejada | CEO e arquiteto
Próximas etapas
- Criar um banco de dados lake no Azure Synapse Analytics
- Crie um workspace do Azure Databricks
- Explorar o Azure Databricks
- Introdução ao Azure Data Lake Analytics utilizando o portal do Microsoft Azure
- Introdução ao Azure Synapse Analytics
- O que é o Azure Databricks?
- O que é o Azure Synapse Analytics?
Recursos relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de