Para aproveitar ao máximo o Dataproc, é importante entender os elementos básicos dele. Este guia explica os principais conceitos e recursos do Dataproc e os benefícios que eles oferecem.
O modelo baseado em cluster
Essa é a maneira padrão e centrada na infraestrutura de usar o Dataproc. Ele oferece controle total sobre um conjunto dedicado de máquinas virtuais para suas tarefas de processamento de dados.
- Clusters: um cluster é seu mecanismo pessoal de tratamento de dados, composto por Google Cloud máquinas virtuais. Você cria um cluster para executar estruturas de código aberto, como o Apache Spark e o Apache Hadoop. Você tem controle total sobre o tamanho do cluster, os tipos de máquinas e a configuração.
- Jobs: um job é uma tarefa específica, como um script do PySpark ou uma consulta do Hadoop. Em vez de executar um job diretamente em um cluster, você o envia para o serviço Dataproc, que gerencia a execução do job para você. É possível enviar vários jobs para o cluster.
- Modelos de fluxo de trabalho: um modelo de fluxo de trabalho é uma definição reutilizável que orquestra uma série de jobs (um fluxo de trabalho). Ele pode definir dependências entre jobs, por exemplo, para executar um job de machine learning somente após a conclusão de um job de limpeza de dados. O fluxo de trabalho com modelo pode ser executado em um cluster atual ou em um cluster temporário (efêmero) criado para executar o fluxo de trabalho e excluído após a conclusão. Você pode usar o modelo para executar o fluxo de trabalho definido sempre que necessário.
- Políticas de escalonamento automático: uma política de escalonamento automático contém regras definidas por você para adicionar ou remover máquinas de trabalho de um cluster com base na carga de trabalho do cluster para otimizar dinamicamente o custo e o desempenho do cluster.
O modelo sem servidor
O Serverless para Apache Spark é o modelo moderno de execução automatizada do Dataproc. Ele permite executar jobs sem provisionar, gerenciar ou escalonar a infraestrutura subjacente: o Serverless para Apache Spark cuida dos detalhes para você.
- Lotes: um lote (também chamado de carga de trabalho em lote) é o equivalente sem servidor de um job do Dataproc. Você envia seu código, como um job do Spark, para o serviço. O Serverless para Apache Spark provisiona os recursos necessários sob demanda, executa o job e os encerra. Você não cria nem gerencia recursos de cluster ou job. O serviço faz o trabalho para você.
- Sessões interativas: oferecem um ambiente ativo e sob demanda para análise exploratória de dados, geralmente em um notebook Jupyter. As sessões interativas oferecem a conveniência de um espaço de trabalho temporário e sem servidor que pode ser usado para executar consultas e desenvolver código sem precisar provisionar e gerenciar recursos de cluster e notebook.
- Modelos de sessão: um modelo de sessão é uma configuração reutilizável que você pode usar para definir sessões interativas. O modelo contém configurações de sessão, como propriedades do Spark e dependências de biblioteca. Você usa o modelo para criar ambientes de sessão interativos para desenvolvimento, geralmente em um notebook do Jupyter.
Serviços do metastore
O Dataproc oferece serviços gerenciados para processar metadados, que são os dados sobre seus dados.
- Metastore: um metastore é um catálogo central para esquemas de dados, como nomes de tabelas e colunas e tipos de dados. Um metastore permite que diferentes serviços, clusters e jobs entendam a estrutura dos seus dados. Normalmente, o catálogo é armazenado no Cloud Storage.
- Federação: a federação de metadados é um recurso avançado que permite acessar e consultar dados de vários metastores como se você estivesse acessando um único metastore unificado.
Ambientes de notebook e desenvolvimento
Os notebooks e IDEs do Dataproc se vinculam a ambientes de desenvolvimento integrados em que você pode escrever e executar seu código.
- BigQuery Studio e Workbench: são ambientes unificados de análise e notebook. Eles permitem escrever código (por exemplo, em um notebook Jupyter) e usar um cluster ou uma sessão sem servidor do Dataproc como o mecanismo de back-end para executar o código em grandes conjuntos de dados.
- Plug-in do JupyterLab para Dataproc: essa extensão oficial do JupyterLab funciona como um painel de controle do Dataproc no ambiente de notebook. Ele simplifica seu fluxo de trabalho permitindo que você navegue, crie e gerencie clusters e envie jobs sem sair da interface do Jupyter. Saiba mais
- Conector Python do Dataproc Spark Connect: essa biblioteca Python simplifica o processo de uso do Spark Connect com o Dataproc. Ele processa a autenticação e a configuração de endpoints, facilitando muito a conexão do seu ambiente Python local, como um notebook ou IDE, a um cluster remoto do Dataproc para desenvolvimento interativo. Saiba mais
Personalização do ambiente
O Dataproc oferece ferramentas e componentes para personalizar seu ambiente de acordo com necessidades específicas. A seção "Utilitários" no console do Google Cloud contém ferramentas úteis para personalizar seu ambiente do Dataproc.