Explore o novo chatbot do Developer Center! O MongoDB AI chatbot pode ser acessado na parte superior da sua navegação para responder a todas as suas perguntas sobre o MongoDB .

Learn why MongoDB was selected as a leader in the 2024 Gartner® Magic Quadrant™
Desenvolvedor do MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
Atlaschevron-right

Anúncio UDF do MongoDB para modelos do BigQuery Dataflow

DJ
Venkatesh Shanbhag, Diana Annie Jenosh4 min read • Published Jan 26, 2023 • Updated Apr 02, 2024
IAAtlasJavaScript
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Muitos clientes corporativos que usam o MongoDB Atlas como seu principal banco de dados operacional também usam o BigQuery para suas análises baseadas em Batch e AI/ML, tornando-o fundamental para a transferência perfeita de dados entre essas entidades. Desde o anúncio dos modelos de fluxo de dados (em outubro de 2022) sobre a movimentação de dados entre o MongoDB e o BigQuery, vimos muito interesse dos clientes, pois isso facilitou uma migração de dados somente para um anexo. Embora os três modelos do Dataflow fornecidos atendam à maioria dos casos de uso comuns, também havia uma demanda para poder fazer transformações como parte desses modelos.
Estamos muito satisfeitos em anunciar a adição da capacidade de escrever suas próprias funções definidas pelo usuário (UDFs) nesses pipelines do Dataflow! Este novo recurso permite usar UDFs no JavaScript para transformar e analisar dados no BigQuery. Com as UDFs, você pode definir lógica personalizada e regras de negócios que podem ser aplicadas aos seus dados durante o processamento pelo Dataflow. Isso permite que você realize transformações complexas, como transformar campos, concatenar campos, excluir campos, converter documentos incorporados em documentos separados etc. Essas UDFs aceitam documentos não processados como parâmetros de entrada e retornam os documentos processados como saída.
Para usar UDFs com o BigQuery Dataflow, basta escrever sua função JavaScript e armazená-la no bucket de armazenamento na nuvem do GCP. Use o parâmetro opcional dos modelos de fluxo de dados para ler esses UDFs durante a execução dos modelos. A função será executada nos dados conforme estiver sendo processado, permitindo que você aplique lógica e transformações personalizadas aos seus dados durante a transferência.

Como configurá-lo

Vamos dar uma rápida olhada em como configurar uma amostra de UDF para processar (transformar um campo, nivelar um documento incorporado e excluir um campo) de um documento de entrada antes de gravar os dados processados no BigQuery.

Configure o MongoDB

  1. Configuração do MongoDB Atlas por meio de registro.
  2. Configuração do MongoDB Atlas por meio do GCP Marketplace. (O MongoDB Atlas está disponível para pagamento conforme o uso no marketplace da GCP).
  3. Crie seu cluster MongoDB .
  4. Clique em Browse collections (Procurar coleções) e clique em +Create Database (Criar banco de dados).
Página de destino do cluster do MongoDB Atlas
5: nomeie seu banco de dadosSample_Company e a coleção Sample_Employee. Etapa de criação de coleção do MongoDB Atlas 6: Clique em Inserir documento. Inserir documento na coleção do MongoDB a partir da IU do Atlas Copie e cole o documento abaixo e clique em Inserir.
1{
2 "Name":"Venkatesh",
3 "Address":{"Phone":{"$numberLong":"123455"},"City":"Honnavar"},
4 "Department":"Solutions Consulting",
5 "Direct_reporting": "PS"
6}
7: para ter acesso autenticado no cluster MongoDB Sandbox a partir do console do Google, precisamos criar usuários de banco de dados.
Clique em Acesso ao banco de dados no painel esquerdo do painel do Atlas.
Escolha Adicionar novo usuário usando o botão verde à esquerda. Insira o nome de usuário appUser e a senha appUser123. Usaremos funções embutidas; clique em Adicionar privilégios padrão e, na seçãoPrivilégios padrão, adicione os roles readWriteAnyDatabase. Em seguida, pressione o botão verde Adicionar usuário para criar o usuário.
Crie um usuário de banco de dados no MongoDB Atlas
8: lista os IPs na lista de permissões.
Para fins desta demonstração, permitiremos o acesso de qualquer ip, ou seja, 0.0.0.0/0. No entanto, isso não é recomendado para uma configuração de produção, onde a recomendações será usar o VPC Peering e IP privados.
Lista branca de IP no MongoDB Atlas para permitir acesso externo
Lista de permissões 0.0.0.0/0

Configurar o Google Cloud

  1. Criar um bucket de armazenamento em nuvem.
  2. Em sua máquina local, crie um arquivo Javascript transform.js e adicione abaixo o código de amostra.
1function transform(inputDoc) {
2 var outputDoc = new Object();
3 inputDoc["City"] = inputDoc["Address"]["City"];
4 delete doc.Address;
5 outputDoc = doc;
6 return returnObj;
7}
Essa função lerá o documento lido do MongoDB usando o connector IO do MongoDB do Apache stream. Nivelar o documento incorporado Endereço/Cidade a Cidade. Exclua o campo Endereço e devolva o documento atualizado.
3: Carregue o arquivo JavaScript no bucket de armazenamento do GCP .
4: crie um conjunto de dados do BigQuery no seu projeto na região próxima ao seu local físico.
a. Clique no botãoCreate Job from the template (Criar trabalho a partir do modelo ) na parte superior.
b. Nome do trabalho: mongodb-udf.
c. Região: igual à região do conjunto de dados do BigQuery.
d. URI de conexão do MongoDB: Copie o URI de conexão para conectar aplicativos do MongoDB Atlas.
e. MongoDB database: Sample_Company.
f. MongoDB Collection: Sample_Employee.
g. Tabela de destino do BigQuery: copie o link da tabela de destino do BigQuery
h. Página de detalhes do conjunto de dados no formato: bigquery-project:sample_dataset.sample_company.
i. Opção do usuário: FLATTEN.
j. Clique em mostrar parâmetros opcionais.
k. Local de armazenamento na cloud do seu JavaScript UDF: navegue pelo arquivo UDF carregado no local do bucket. Este é o novo recurso que permite executar o UDF e aplicar as transformações antes de inserir no BigQuery.
l. Nome de sua função Javascript: transform.
Criar tarefa de fluxo de dados com UDF no console do Google Cloud
6: clique em RUN JOB para iniciar a execução do pipeline. Assim que a execução do pipeline terminar, seu gráfico deverá mostrar Bem-sucedido em cada estágio, conforme mostrado abaixo.
Visualização do gráfico do trabalho do Dataflow no console do Google Cloud
7: Após a conclusão do trabalho, você poderá ver o documento transformado inserido no BigQuery.
Documento lido do MongoDB achatado e carregado para o BigQuery

Conclusão

Neste blog, apresentamos UDFs ao MongoDB aos modelos de fluxo de dados do BigQuery e seus recursos para transformar os documentos lidos do MongoDB usando funções Javascript personalizadas definidas pelo usuário armazenadas em buckets de armazenamento do Google Cloud. Este blog também inclui um tutorial simples sobre como configurar o MongoDB Atlas, o Google Cloud e os UDFs.

Leitura adicional


Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Tutorial

MongoDB Charts incorporando SDK com React


Sep 09, 2024 | 5 min read
Artigo

Aplicar linguagem natural em consultas do MongoDB com o Google Gemini


Dec 13, 2024 | 8 min read
Tutorial

Aprenda a criar soluções de pesquisa de varejo aprimoradas por IA com MongoDB e Databricks


Sep 18, 2024 | 14 min read
Tutorial

Como implantar o MongoDB no Heroku


Oct 26, 2022 | 8 min read
Sumário
  • Como configurá-lo