Stel uw ETL-taken voor MongoDB Atlas samen met AWS Glue

Stel uw ETL-taken voor MongoDB Atlas samen met AWS Glue

Bronknooppunt: 2634433

In de huidige datagestuurde zakelijke omgeving staan ​​organisaties voor de uitdaging om grote hoeveelheden data efficiënt voor te bereiden en te transformeren voor analyse en data science-doeleinden. Bedrijven moeten datawarehouses en datalakes bouwen op basis van operationele data. Dit wordt gedreven door de noodzaak om gegevens uit verschillende bronnen te centraliseren en te integreren.

Tegelijkertijd zijn operationele gegevens vaak afkomstig van applicaties die worden ondersteund door verouderde gegevensarchieven. Het moderniseren van applicaties vereist een microservice-architectuur, die op zijn beurt de consolidatie van gegevens uit meerdere bronnen vereist om een ​​operationeel gegevensarchief te bouwen. Zonder modernisering kunnen legacy-applicaties hogere onderhoudskosten met zich meebrengen. Het moderniseren van applicaties omvat het veranderen van de onderliggende database-engine naar een moderne documentgebaseerde database zoals MongoDB.

Deze twee taken (het bouwen van datalakes of datawarehouses en modernisering van applicaties) hebben betrekking op gegevensverplaatsing, waarbij gebruik wordt gemaakt van een extractie-, transformatie- en laadproces (ETL). De ETL-taak is een sleutelfunctionaliteit voor een goed gestructureerd proces om te slagen.

AWS lijm is een serverloze data-integratieservice die het eenvoudig maakt om data uit meerdere bronnen te ontdekken, voor te bereiden, te verplaatsen en te integreren voor analyse, machine learning (ML) en applicatie-ontwikkeling. MongoDB-atlas is een geïntegreerde suite van clouddatabase- en dataservices die transactieverwerking, op relevantie gebaseerd zoeken, real-time analyse en gegevenssynchronisatie van mobiel naar cloud combineert in een elegante en geïntegreerde architectuur.

Door AWS Glue te gebruiken met MongoDB Atlas kunnen organisaties hun ETL-processen stroomlijnen. Met zijn volledig beheerde, schaalbare en veilige database-oplossing biedt MongoDB Atlas een flexibele en betrouwbare omgeving voor het opslaan en beheren van operationele gegevens. Samen vormen AWS Glue ETL en MongoDB Atlas een krachtige oplossing voor organisaties die willen optimaliseren hoe ze datameren en datawarehouses bouwen en hun applicaties willen moderniseren om de bedrijfsprestaties te verbeteren, kosten te verlagen en groei en succes te stimuleren.

In dit bericht laten we zien hoe u gegevens kunt migreren van Amazon eenvoudige opslagservice (Amazon S3)-buckets naar MongoDB Atlas met behulp van AWS Glue ETL, en hoe gegevens uit MongoDB Atlas kunnen worden geëxtraheerd naar een op Amazon S3 gebaseerd datameer.

Overzicht oplossingen

In dit bericht onderzoeken we de volgende use-cases:

  • Gegevens extraheren uit MongoDB – MongoDB is een populaire database die door duizenden klanten wordt gebruikt om applicatiegegevens op schaal op te slaan. Enterprise-klanten kunnen data uit meerdere datastores centraliseren en integreren door datalakes en datawarehouses te bouwen. Dit proces omvat het extraheren van gegevens uit de operationele gegevensarchieven. Wanneer de gegevens op één plek staan, kunnen klanten deze snel gebruiken voor business intelligence-behoeften of voor ML.
  • Gegevens opnemen in MongoDB - MongoDB dient ook als een no-SQL-database om applicatiegegevens op te slaan en operationele gegevensarchieven te bouwen. Bij het moderniseren van applicaties wordt vaak de operationele store naar MongoDB gemigreerd. Klanten zouden bestaande gegevens uit relationele databases of uit platte bestanden moeten halen. Mobiele en web-apps vereisen vaak dat data-engineers datapijplijnen bouwen om een ​​enkele dataweergave in Atlas te creëren terwijl data uit meerdere geïsoleerde bronnen worden opgenomen. Tijdens deze migratie zouden ze zich bij verschillende databases moeten voegen om documenten te maken. Voor deze complexe join-operatie is een aanzienlijke, eenmalige rekenkracht nodig. Ontwikkelaars zouden dit ook snel moeten bouwen om de gegevens te migreren.

AWS Glue is in deze gevallen handig met het pay-as-you-go-model en de mogelijkheid om complexe transformaties uit te voeren in enorme datasets. Ontwikkelaars kunnen AWS Glue Studio gebruiken om dergelijke datapijplijnen efficiënt te creëren.

Het volgende diagram toont de workflow voor gegevensextractie van MongoDB Atlas naar een S3-bucket met behulp van AWS Glue Studio.

Gegevens extraheren van MongoDB Atlas naar Amazon S3

Om deze architectuur te implementeren, hebt u een MongoDB Atlas-cluster, een S3-bucket en een AWS Identiteits- en toegangsbeheer (IAM) rol voor AWS Glue. Raadpleeg de vereiste stappen hieronder om deze resources te configureren GitHub repo.

De volgende afbeelding toont de werkstroom voor het laden van gegevens van een S3-bucket naar MongoDB Atlas met behulp van AWS Glue.

Gegevens laden van Amazon S3 in MongoDB Atlas

Hier zijn dezelfde voorwaarden nodig: een S3-bucket, IAM-rol en een MongoDB Atlas-cluster.

Laad gegevens van Amazon S3 naar MongoDB Atlas met behulp van AWS Glue

In de volgende stappen wordt beschreven hoe u gegevens uit de S3-bucket in MongoDB Atlas kunt laden met behulp van een AWS Glue-taak. Het extractieproces van MongoDB Atlas naar Amazon S3 lijkt erg op elkaar, met uitzondering van het gebruikte script. We noemen de verschillen tussen de twee processen.

  1. Maak een gratis cluster in MongoDB Atlas.
  2. Upload de voorbeeld JSON-bestand naar je S3-emmer.
  3. Maak een nieuwe AWS Glue Studio-taak met de Spark-scripteditor optie.

Gebruikersinterface voor het maken van Glue Studio-taken

  1. Afhankelijk van of u gegevens uit het MongoDB Atlas-cluster wilt laden of extraheren, voert u het script laden or script uitpakken in de AWS Glue Studio-scripteditor.

De volgende schermafbeelding toont een codefragment voor het laden van gegevens in het MongoDB Atlas-cluster.

Codefragment voor het laden van gegevens in MongoDB Atlas

De code gebruikt AWS-geheimenmanager om de MongoDB Atlas-clusternaam, gebruikersnaam en wachtwoord op te halen. Vervolgens creëert het een DynamicFrame voor de S3-bucket en de bestandsnaam die als parameters aan het script zijn doorgegeven. De code haalt de database- en verzamelingsnamen op uit de configuratie van de taakparameters. Ten slotte schrijft de code de DynamicFrame naar het MongoDB Atlas-cluster met behulp van de opgehaalde parameters.

  1. Maak een IAM-rol aan met de machtigingen zoals weergegeven in de volgende schermafbeelding.

Raadpleeg voor meer informatie Configureer een IAM-rol voor uw ETL-taak.

Machtigingen voor IAM-rollen

  1. Geef de taak een naam en geef de IAM-rol op die in de vorige stap is gemaakt op de Details van de baan Tab.
  2. U kunt de rest van de parameters als standaard laten staan, zoals weergegeven in de volgende schermafbeeldingen.
    Job DetailsTaakdetails vervolgd
  3. Definieer vervolgens de taakparameters die het script gebruikt en geef de standaardwaarden op.
    Taakinvoerparameters
  4. Sla de taak op en voer deze uit.
  5. Om een ​​succesvolle run te bevestigen, observeert u de inhoud van de MongoDB Atlas-databaseverzameling als u de gegevens laadt, of de S3-bucket als u een extractie uitvoert.

De volgende schermafbeelding toont de resultaten van een succesvolle gegevensbelasting van een Amazon S3-bucket in het MongoDB Atlas-cluster. De gegevens zijn nu beschikbaar voor zoekopdrachten in de gebruikersinterface van MongoDB Atlas.
Gegevens geladen in MongoDB Atlas Cluster

  1. Bekijk de Amazon Cloud Watch logt via de link op de vacature lopen Tab.

De volgende schermafbeelding laat zien dat de taak met succes is uitgevoerd, met aanvullende details zoals koppelingen naar de CloudWatch-logboeken.

Details van geslaagde taakuitvoering

Conclusie

In dit bericht hebben we beschreven hoe u gegevens kunt extraheren en opnemen in MongoDB Atlas met behulp van AWS Glue.

Met AWS Glue ETL-taken kunnen we nu de gegevens van MongoDB Atlas overzetten naar AWS Glue-compatibele bronnen, en vice versa. U kunt de oplossing ook uitbreiden om analyses te bouwen met behulp van AWS AI- en ML-services.

Raadpleeg voor meer informatie de GitHub-repository voor stapsgewijze instructies en voorbeeldcode. U kunt aanschaffen MongoDB-atlas op AWS Marktplaats.


Over de auteurs

Igor Aleksejev is een Senior Partner Solution Architect bij AWS in het domein Data en Analytics. In zijn rol werkt Igor samen met strategische partners die hen helpen bij het bouwen van complexe, voor AWS geoptimaliseerde architecturen. Voordat hij bij AWS kwam, implementeerde hij als Data/Solution Architect veel projecten in het Big Data-domein, waaronder verschillende datameren in het Hadoop-ecosysteem. Als Data Engineer was hij betrokken bij het toepassen van AI/ML op fraudedetectie en kantoorautomatisering.


Baboe Srinivasan
is een Senior Partner Solutions Architect bij MongoDB. In zijn huidige rol werkt hij samen met AWS om de technische integraties en referentiearchitecturen voor de AWS- en MongoDB-oplossingen te bouwen. Hij heeft meer dan twee decennia ervaring in database- en cloudtechnologieën. Hij is gepassioneerd door het bieden van technische oplossingen aan klanten die werken met meerdere Global System Integrators (GSI's) in meerdere regio's.

Tijdstempel:

Meer van AWS-bigdata