top of page
pedrobusko

Streaming de dados do MongoDB para o BigQuery usando conectores Confluent

Este é um artigo traduzido originalmente publicado dia 24/01/2023 no blog "Streaming Data from MongoDB to BigQuery Using Confluent Connectors".


Muitos clientes corporativos do MongoDB e do Google Cloud têm a carga de trabalho da operação principal em execução no MongoDB e executam suas análises no BigQuery. Para facilitar a movimentação dos dados entre o MongoDB e o BigQuery, o MongoDB introduziu o Google Dataflow templates. Embora esses modelos atendam à maioria dos casos de uso comuns, ainda é necessário algum esforço para configurar o modelo de fluxo de dados do fluxo de mudança (CDC). A configuração do CDC exige que os usuários criem seu próprio código personalizado para monitorar as alterações que ocorrem em sua coleção MongoDB Atlas. O desenvolvimento de códigos personalizados é demorado e requer muito tempo para desenvolvimento, suporte, gerenciamento e operações.



A superação do esforço adicional necessário para configurar CDCs para MongoDB para modelos de BigQuery Dataflow pode ser alcançada usando o Confluent Cloud. O Confluent é uma plataforma de dados em grande escala capaz de processamento, integração e streaming de dados contínuos e em tempo real em qualquer infraestrutura. O Confluent fornece integração de dados declarativa e conectável por meio de seus conectores. Com os conectores de origem MongoDB da Confluent, o processo de criação e implantação de um módulo para CDCs pode ser eliminado. O Confluent Cloud fornece um conector de origem do MongoDB Atlas que pode ser facilmente configurado no Confluent Cloud, que lerá as alterações da origem do MongoDB e publicará essas alterações em um tópico. A leitura do MongoDB como origem é a parte da solução que é aprimorada ainda mais com um conector de coletor Confluent BigQuery para ler as alterações que são publicadas no tópico e, em seguida, gravar na tabela do BigQuery.



Este artigo explica como configurar o cluster MongoDB, o cluster Confluent e o source connector Confluent MongoDB Atlas para ler as alterações do cluster MongoDB, do conjunto de dados do BigQuery e do sink connector Confluent BigQuery.

Como pré-requisito, precisamos de um cluster MongoDB Atlas, um cluster Confluent Cloud e uma conta do Google Cloud. Se você não tiver as contas, as próximas seções o ajudarão a entender como configurá-las.


Configure seu cluster MongoDB Atlas


Para configurar seu primeiro cluster MongoDB Atlas, você pode se registrar no MongoDB no Google Marketplace ou página de cadastro. Uma vez registrado no MongoDB Atlas, você pode configurar seu primeiro cluster Shared M0 de nível gratuito. Siga as etapas na documentação do MongoDB para configurar o usuário do banco de dados e a rede para seu cluster.



Depois que o cluster e a configuração de acesso estiverem concluídos, podemos carregar alguns dados de amostra no cluster. Navegue até “browse collection” na página inicial do Atlas e clique em “Create Database”. Nomeie seu banco de dados como "Sample_company" e a coleção "Sample_employee".

Insira seu primeiro documento no banco de dados:



{
"Name":"Jane Doe",
"Address":{
"Phone":{"$numberLong":"999999"},
"City":"Wonderland"
}
}
}


Configurar um conjunto de dados do BigQuery no Google Cloud


Como pré-requisito para configurar o pipeline, precisamos criar um conjunto de dados na mesma região do cluster Confluent. Por favor, vá através do Google documentação para entender como criar um conjunto de dados para seu projeto. Nomeie seu conjunto de dados como "Sample_Dataset".


Configure o cluster e os conectores do Confluent Cloud


Depois de configurar os conjuntos de dados MongoDB e BigQuery, o Confluent será a plataforma para construir o pipeline de dados entre essas plataformas.

Para se inscrever usando o Confluent Cloud, você pode acessar a Confluent ou registrar-se no Google Marketplace. Novas inscrições recebem $ 400 para gastar durante os primeiros 30 dias e um cartão de crédito não é necessário. Para criar o cluster, você pode seguir o primeiro passo no documentação. Uma coisa importante a considerar é que a região do cluster deve ser a mesma região do cluster GCP BigQuery.


Configure seu conector de origem MongoDB Atlas no Confluent


Dependendo das configurações, pode levar alguns minutos para provisionar seu cluster, mas depois que o cluster for provisionado, podemos obter os dados de amostra do cluster MongoDB para o cluster Confluent.

O MongoDB Atlas Source Connector da Confluent ajuda a ler os dados do fluxo de mudança do banco de dados MongoDB e gravá-los no tópico. Este conector é totalmente gerenciado pelo Confluent e você não precisa operá-lo. Para configurar um conector, navegue até Confluent Cloud e procure o conector de origem do MongoDB Atlas em "Conectores". A documentação do conector fornece as etapas para provisionar o conector.


Abaixo está a configuração de exemplo para a configuração do conector de origem do MongoDB.


  1. Para Seleção de tópico , deixe o prefixo em branco.

  2. Gere as credenciais do Kafka e clique em “Continuar”.

  3. Em Autenticação, forneça os detalhes:

    1. Host de conexão: forneça apenas o nome do host do MongoDB no formato “mongodbcluster.mongodb.net”.

    2. Usuário da conexão: nome do usuário da conexão do MongoDB.

    3. Senha de conexão: Senha do usuário que está sendo autenticado.

    4. Nome do banco de dados: sample_database e nome da coleção: sample_collection .


  1. Na configuração, selecione o formato de registro Kafka de saída como JSON_SR e clique em “Continuar”.

  2. Deixe o dimensionamento padrão e clique em “Continuar”.

  3. Revise e clique em “Continuar”.




{
  "name": "MongoDbAtlasSourceConnector",
  "config": {
    "connector.class": "MongoDbAtlasSource",
    "name": "MongoDbAtlasSourceConnector",
    "kafka.auth.mode": "KAFKA_API_KEY",
    "kafka.api.key": "****************",
    "kafka.api.secret": "****************************************************************",
    "connection.host": "mongodbcluster.mongodb.net",
    "connection.user": "testuser",
    "connection.password": "*********",
    "database": "Sample_Company",
    "collection": "Sample_Employee",
    "output.data.format": "JSON_SR",
    "publish.full.document.only": "true",
    "tasks.max": "1"
  }
}


Configurar Confluent Cloud: conector de coletor do BigQuery


Depois de configurar nosso BigQuery, precisamos provisionar um conector de coletor para coletar os dados do Confluent Cluster para o Google BigQuery. O conector Confluent Cloud to BigQuery Sink pode transmitir registros de tabela de tópicos Kafka para o Google BigQuery. Os registros da tabela são transmitidos em altas taxas de transferência para facilitar consultas analíticas em tempo real.

Para configurar o conector do coletor do BigQuery, Siga os passos em sua documentação.



{
  "name": "BigQuerySinkConnector_0",
  "config": {
    "topics": "AppEngineTest.emp",
    "input.data.format": "JSON_SR",
    "connector.class": "BigQuerySink",
    "name": "BigQuerySinkConnector_0",
    "kafka.auth.mode": "KAFKA_API_KEY",
    "kafka.api.key": "****************",
    "kafka.api.secret": "****************************************************************",
    "keyfile": "******************************************************************************
—--
***************************************",
    "project": "googleproject-id",
    "datasets": "Sample_Dataset",
    "auto.create.tables": "true",
    "auto.update.schemas": "true",
    "tasks.max": "1"
  }
}


Para ver os dados sendo carregados no BigQuery, faça algumas alterações na coleção do MongoDB. Todas as inserções e atualizações serão registradas no MongoDB e enviadas ao BigQuery.

Insira o documento abaixo em sua coleção do MongoDB usando a IU do MongoDB Atlas. (Navegue até sua coleção e clique em “INSERIR DOCUMENTO”.)



{
"Name":"John Doe",
"Address":{
"Phone":{"$numberLong":"8888888"},
"City":"Narnia"
}
}
}


Resumo

O MongoDB e o Confluent estão posicionados no centro de muitas arquiteturas de dados modernas que ajudam os desenvolvedores a criar facilmente pipelines de dados robustos e reativos que transmitem eventos entre aplicativos e serviços em tempo real. Neste exemplo, fornecemos um modelo para criar um pipeline do MongoDB para o BigQuery no Confluent Cloud. O Confluent Cloud fornece mais de 200 conectores para construir tais pipelines entre muitas soluções. Embora as soluções mudem, a abordagem geral é usar esses conectores para construir pipelines.


Qual é o próximo?


  1. Para entender os recursos dos conectores de origem e coletor do MongoDB gerenciados pelo Confluent Cloud, você pode assistir este webinar.

  2. Saiba mais sobre o coletor do BigQuery conector.

  3. Um pipeline de dados paraMongoDB Atlas e BigQuery usando o Dataflow.

  4. Configure seu primeiro cluster MongoDB usando o Google Marketplace.

  5. Executar análises usando o BigQuery usando BigQuery ML.


36 visualizações0 comentário

Comments


bottom of page