Komponera dina ETL-jobb för MongoDB Atlas med AWS Glue

Komponera dina ETL-jobb för MongoDB Atlas med AWS Glue

Källnod: 2634433

I dagens datadrivna affärsmiljö står organisationer inför utmaningen att effektivt förbereda och omvandla stora mängder data för analytiska och datavetenskapliga ändamål. Företag måste bygga datalager och datasjöar baserat på driftsdata. Detta drivs av behovet av att centralisera och integrera data som kommer från olika källor.

Samtidigt härrör driftdata ofta från applikationer som backas upp av äldre datalager. Att modernisera applikationer kräver en mikrotjänstarkitektur, vilket i sin tur kräver konsolidering av data från flera källor för att konstruera ett operativt datalager. Utan modernisering kan äldre applikationer medföra ökade underhållskostnader. Att modernisera applikationer innebär att den underliggande databasmotorn ändras till en modern dokumentbaserad databas som MongoDB.

Dessa två uppgifter (bygga datasjöar eller datalager och applikationsmodernisering) involverar datarörelse, som använder en extrahera, transformera och ladda (ETL) process. ETL-jobbet är en nyckelfunktion för att ha en välstrukturerad process för att lyckas.

AWS-lim är en serverlös dataintegrationstjänst som gör det enkelt att upptäcka, förbereda, flytta och integrera data från flera källor för analys, maskininlärning (ML) och applikationsutveckling. MongoDB Atlas är en integrerad svit av molndatabas- och datatjänster som kombinerar transaktionsbearbetning, relevansbaserad sökning, realtidsanalys och mobil-till-moln-datasynkronisering i en elegant och integrerad arkitektur.

Genom att använda AWS Glue med MongoDB Atlas kan organisationer effektivisera sina ETL-processer. Med sin fullt hanterade, skalbara och säkra databaslösning tillhandahåller MongoDB Atlas en flexibel och pålitlig miljö för lagring och hantering av driftsdata. Tillsammans är AWS Glue ETL och MongoDB Atlas en kraftfull lösning för organisationer som vill optimera hur de bygger datasjöar och datalager, och modernisera sina applikationer, för att förbättra verksamhetens prestanda, minska kostnaderna och driva tillväxt och framgång.

I det här inlägget visar vi hur man migrerar data från Amazon enkel lagringstjänst (Amazon S3) hinkar till MongoDB Atlas med AWS Glue ETL, och hur man extraherar data från MongoDB Atlas till en Amazon S3-baserad datasjö.

Lösningsöversikt

I det här inlägget utforskar vi följande användningsfall:

  • Extrahera data från MongoDB – MongoDB är en populär databas som används av tusentals kunder för att lagra applikationsdata i stor skala. Företagskunder kan centralisera och integrera data som kommer från flera datalager genom att bygga datasjöar och datalager. Denna process innebär att extrahera data från de operativa datalagren. När data finns på ett ställe kan kunderna snabbt använda dem för affärsinformationsbehov eller för ML.
  • Inför data i MongoDB – MongoDB fungerar också som en no-SQL-databas för att lagra applikationsdata och bygga operativa datalager. Modernisering av applikationer innebär ofta migrering av den operativa butiken till MongoDB. Kunder skulle behöva extrahera befintliga data från relationsdatabaser eller från platta filer. Mobil- och webbappar kräver ofta att dataingenjörer bygger datapipelines för att skapa en enda vy av data i Atlas samtidigt som de matar in data från flera silade källor. Under denna migrering skulle de behöva gå med i olika databaser för att skapa dokument. Denna komplexa sammanfogningsoperation skulle behöva betydande engångsräknekraft. Utvecklare skulle också behöva bygga detta snabbt för att migrera data.

AWS Glue är praktiskt i dessa fall med pay-as-you-go-modellen och dess förmåga att köra komplexa transformationer över enorma datamängder. Utvecklare kan använda AWS Glue Studio för att effektivt skapa sådana datapipelines.

Följande diagram visar arbetsflödet för dataextraktion från MongoDB Atlas till en S3-hink med hjälp av AWS Glue Studio.

Extrahera data från MongoDB Atlas till Amazon S3

För att implementera den här arkitekturen behöver du ett MongoDB Atlas-kluster, en S3-hink och en AWS identitets- och åtkomsthantering (IAM) roll för AWS Glue. För att konfigurera dessa resurser, se de nödvändiga stegen i följande GitHub repo.

Följande bild visar arbetsflödet för dataladdning från en S3-skopa till MongoDB Atlas med hjälp av AWS Glue.

Laddar data från Amazon S3 till MongoDB Atlas

Samma förutsättningar behövs här: en S3-hink, IAM-roll och ett MongoDB Atlas-kluster.

Ladda data från Amazon S3 till MongoDB Atlas med AWS Glue

Följande steg beskriver hur man laddar data från S3-skopan till MongoDB Atlas med hjälp av ett AWS-limjobb. Extraktionsprocessen från MongoDB Atlas till Amazon S3 är väldigt lik, med undantag för skriptet som används. Vi nämner skillnaderna mellan de två processerna.

  1. Skapa ett gratis kluster i MongoDB Atlas.
  2. Ladda upp exempel på JSON-fil till din S3-skopa.
  3. Skapa ett nytt AWS Glue Studio-jobb med Spark script editor alternativ.

Glue Studio Job Creation UI

  1. Beroende på om du vill ladda eller extrahera data från MongoDB Atlas-klustret, skriv in ladda skript or extrahera skript i AWS Glue Studio manusredigerare.

Följande skärmdump visar ett kodavsnitt för att ladda data till MongoDB Atlas-klustret.

Kodavsnitt för att ladda data till MongoDB Atlas

Koden använder AWS Secrets Manager för att hämta MongoDB Atlas-klusternamn, användarnamn och lösenord. Sedan skapar det en DynamicFrame för S3-hinken och filnamnet som skickas till skriptet som parametrar. Koden hämtar databasen och samlingsnamnen från jobbparametrarnas konfiguration. Slutligen skriver koden DynamicFrame till MongoDB Atlas-klustret med hjälp av de hämtade parametrarna.

  1. Skapa en IAM-roll med behörigheterna som visas i följande skärmdump.

Mer information finns i Konfigurera en IAM-roll för ditt ETL-jobb.

IAM-rollbehörigheter

  1. Ge jobbet ett namn och ange IAM-rollen som skapades i föregående steg på Jobb detaljer fliken.
  2. Du kan lämna resten av parametrarna som standard, som visas i följande skärmdumpar.
    jobb~~POS=TRUNC DetaljerJobbdetaljerna fortsatte
  3. Definiera sedan jobbparametrarna som skriptet använder och ange standardvärdena.
    Jobbingångsparametrar
  4. Spara jobbet och kör det.
  5. För att bekräfta en lyckad körning, observera innehållet i MongoDB Atlas-databassamlingen om data laddas, eller S3-hinken om du utförde ett extrakt.

Följande skärmdump visar resultaten av en lyckad dataladdning från en Amazon S3-hink till MongoDB Atlas-klustret. Datan är nu tillgänglig för frågor i MongoDB Atlas UI.
Data laddas in i MongoDB Atlas Cluster

  1. För att felsöka dina körningar, granska amazoncloudwatch loggar med hjälp av länken på jobbets Körning fliken.

Följande skärmdump visar att jobbet kördes framgångsrikt, med ytterligare detaljer som länkar till CloudWatch-loggarna.

Information om lyckad jobbkörning

Slutsats

I det här inlägget beskrev vi hur man extraherar och matar in data till MongoDB Atlas med hjälp av AWS Glue.

Med AWS Glue ETL-jobb kan vi nu överföra data från MongoDB Atlas till AWS Glue-kompatibla källor och vice versa. Du kan också utöka lösningen till att bygga analyser med AWS AI- och ML-tjänster.

För att lära dig mer, se GitHub repository för steg-för-steg-instruktioner och exempelkod. Du kan införskaffa MongoDB Atlas på AWS Marketplace.


Om författarna

Igor Alekseev är Senior Partner Solution Architect på AWS inom data- och analysdomän. I sin roll arbetar Igor med strategiska partners som hjälper dem att bygga komplexa, AWS-optimerade arkitekturer. Innan han började på AWS implementerade han som data-/lösningsarkitekt många projekt inom Big Data-domänen, inklusive flera datasjöar i Hadoop-ekosystemet. Som dataingenjör var han involverad i att tillämpa AI/ML för att upptäcka bedrägerier och kontorsautomation.


Babu Srinivasan
är Senior Partner Solutions Architect på MongoDB. I sin nuvarande roll arbetar han med AWS för att bygga de tekniska integrationerna och referensarkitekturerna för AWS- och MongoDB-lösningarna. Han har mer än två decennier av erfarenhet av databas- och molnteknologier. Han brinner för att tillhandahålla tekniska lösningar till kunder som arbetar med flera globala systemintegratörer (GSI) över flera geografiska områden.

Tidsstämpel:

Mer från AWS Big Data