เขียนงาน ETL ของคุณสำหรับ MongoDB Atlas ด้วย AWS Glue

เขียนงาน ETL ของคุณสำหรับ MongoDB Atlas ด้วย AWS Glue

โหนดต้นทาง: 2634433

ในสภาพแวดล้อมทางธุรกิจที่ขับเคลื่อนด้วยข้อมูลในปัจจุบัน องค์กรต่าง ๆ เผชิญกับความท้าทายในการเตรียมและแปลงข้อมูลจำนวนมากอย่างมีประสิทธิภาพเพื่อวัตถุประสงค์ด้านการวิเคราะห์และวิทยาศาสตร์ข้อมูล ธุรกิจจำเป็นต้องสร้างคลังข้อมูลและ Data Lake ตามข้อมูลการดำเนินงาน สิ่งนี้ขับเคลื่อนโดยความต้องการรวมศูนย์และบูรณาการข้อมูลที่มาจากแหล่งที่แตกต่างกัน

ในขณะเดียวกัน ข้อมูลการดำเนินงานมักมาจากแอปพลิเคชันที่สนับสนุนโดยที่เก็บข้อมูลเดิม การปรับปรุงแอปพลิเคชันให้ทันสมัยนั้นต้องการสถาปัตยกรรมไมโครเซอร์วิส ซึ่งจำเป็นต้องรวมข้อมูลจากหลายแหล่งเข้าด้วยกันเพื่อสร้างที่เก็บข้อมูลการดำเนินงาน หากไม่มีการปรับปรุงให้ทันสมัย ​​แอปพลิเคชันรุ่นเก่าอาจมีค่าบำรุงรักษาเพิ่มขึ้น การปรับปรุงแอปพลิเคชันให้ทันสมัยเกี่ยวข้องกับการเปลี่ยนเอ็นจิ้นฐานข้อมูลพื้นฐานเป็นฐานข้อมูลเอกสารที่ทันสมัย ​​เช่น MongoDB

งานทั้งสองนี้ (การสร้าง Data Lake หรือคลังข้อมูล และการปรับแอปพลิเคชันให้ทันสมัย) เกี่ยวข้องกับการเคลื่อนย้ายข้อมูล ซึ่งใช้กระบวนการแยก แปลง และโหลด (ETL) งาน ETL เป็นหน้าที่หลักในการมีกระบวนการที่มีโครงสร้างที่ดีเพื่อให้ประสบความสำเร็จ

AWS กาว เป็นบริการรวมข้อมูลแบบไร้เซิร์ฟเวอร์ซึ่งทำให้ง่ายต่อการค้นหา เตรียม ย้าย และรวมข้อมูลจากหลายแหล่งสำหรับการวิเคราะห์ การเรียนรู้ของเครื่อง (ML) และการพัฒนาแอปพลิเคชัน แผนที่ MongoDB เป็นชุดรวมของฐานข้อมูลบนคลาวด์และบริการข้อมูลซึ่งรวมการประมวลผลธุรกรรม การค้นหาตามความเกี่ยวข้อง การวิเคราะห์ตามเวลาจริง และการซิงโครไนซ์ข้อมูลระหว่างมือถือกับคลาวด์ในสถาปัตยกรรมที่หรูหราและบูรณาการ

ด้วยการใช้ AWS Glue กับ MongoDB Atlas องค์กรจะปรับปรุงกระบวนการ ETL ของตนได้ ด้วยโซลูชันฐานข้อมูลที่มีการจัดการ ปรับขนาดได้ และปลอดภัย MongoDB Atlas มอบสภาพแวดล้อมที่ยืดหยุ่นและเชื่อถือได้สำหรับการจัดเก็บและจัดการข้อมูลการดำเนินงาน เมื่อทำงานร่วมกัน AWS Glue ETL และ MongoDB Atlas เป็นโซลูชันที่ทรงพลังสำหรับองค์กรที่ต้องการเพิ่มประสิทธิภาพวิธีสร้าง Data Lake และคลังข้อมูล และปรับปรุงแอปพลิเคชันให้ทันสมัย ​​เพื่อปรับปรุงประสิทธิภาพธุรกิจ ลดต้นทุน และขับเคลื่อนการเติบโตและความสำเร็จ

ในโพสต์นี้ เราจะสาธิตวิธีการย้ายข้อมูลจาก บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon (Amazon S3) บัคเก็ตไปยัง MongoDB Atlas โดยใช้ AWS Glue ETL และวิธีแยกข้อมูลจาก MongoDB Atlas ไปยัง Data Lake ที่ใช้ Amazon S3

ภาพรวมโซลูชัน

ในโพสต์นี้ เราจะสำรวจกรณีการใช้งานต่อไปนี้:

  • ดึงข้อมูลจาก MongoDB – MongoDB เป็นฐานข้อมูลยอดนิยมที่ลูกค้าหลายพันรายใช้ในการจัดเก็บข้อมูลแอปพลิเคชันตามขนาด ลูกค้าองค์กรสามารถรวมศูนย์และรวมข้อมูลที่มาจากที่เก็บข้อมูลหลายแห่งโดยสร้างที่เก็บข้อมูลดิบและคลังข้อมูล กระบวนการนี้เกี่ยวข้องกับการแยกข้อมูลจากที่เก็บข้อมูลการดำเนินงาน เมื่อข้อมูลอยู่ในที่เดียว ลูกค้าสามารถใช้ข้อมูลนั้นได้อย่างรวดเร็วสำหรับความต้องการด้านข่าวกรองธุรกิจหรือสำหรับ ML
  • การนำข้อมูลเข้าสู่ MongoDB – MongoDB ยังทำหน้าที่เป็นฐานข้อมูลแบบไม่ใช้ SQL เพื่อเก็บข้อมูลแอปพลิเคชันและสร้างที่เก็บข้อมูลการดำเนินงาน การปรับปรุงแอปพลิเคชันให้ทันสมัยมักเกี่ยวข้องกับการโยกย้ายร้านค้าปฏิบัติการไปยัง MongoDB ลูกค้าจะต้องแยกข้อมูลที่มีอยู่ออกจากฐานข้อมูลเชิงสัมพันธ์หรือจากไฟล์แฟลต แอปบนอุปกรณ์เคลื่อนที่และเว็บมักกำหนดให้วิศวกรข้อมูลสร้างท่อส่งข้อมูลเพื่อสร้างข้อมูลในมุมมองเดียวใน Atlas ขณะที่นำเข้าข้อมูลจากแหล่งต่างๆ ที่แยกจากกัน ในระหว่างการย้ายข้อมูลนี้ พวกเขาจำเป็นต้องรวมฐานข้อมูลต่างๆ เข้าด้วยกันเพื่อสร้างเอกสาร การดำเนินการรวมที่ซับซ้อนนี้ต้องการพลังการประมวลผลเพียงครั้งเดียวที่สำคัญ นักพัฒนาจะต้องสร้างสิ่งนี้อย่างรวดเร็วเพื่อย้ายข้อมูล

AWS Glue มีประโยชน์ในกรณีเหล่านี้ด้วยโมเดลจ่ายตามการใช้งานและความสามารถในการเรียกใช้การแปลงที่ซับซ้อนในชุดข้อมูลขนาดใหญ่ นักพัฒนาสามารถใช้ AWS Glue Studio เพื่อสร้างไปป์ไลน์ข้อมูลดังกล่าวได้อย่างมีประสิทธิภาพ

แผนภาพต่อไปนี้แสดงเวิร์กโฟลว์การแยกข้อมูลจาก MongoDB Atlas ไปยังบัคเก็ต S3 โดยใช้ AWS Glue Studio

การดึงข้อมูลจาก MongoDB Atlas ไปยัง Amazon S3

ในการใช้สถาปัตยกรรมนี้ คุณจะต้องมีคลัสเตอร์ MongoDB Atlas, บัคเก็ต S3 และ AWS Identity และการจัดการการเข้าถึง (IAM) บทบาทสำหรับ AWS Glue เมื่อต้องการตั้งค่าคอนฟิกทรัพยากรเหล่านี้ โปรดดูขั้นตอนข้อกำหนดเบื้องต้นต่อไปนี้ repo GitHub.

รูปต่อไปนี้แสดงเวิร์กโฟลว์การโหลดข้อมูลจากบัคเก็ต S3 ไปยัง MongoDB Atlas โดยใช้ AWS Glue

กำลังโหลดข้อมูลจาก Amazon S3 ไปยัง MongoDB Atlas

จำเป็นต้องมีข้อกำหนดเบื้องต้นเดียวกันนี้: บัคเก็ต S3, บทบาท IAM และคลัสเตอร์ MongoDB Atlas

โหลดข้อมูลจาก Amazon S3 ไปยัง MongoDB Atlas โดยใช้ AWS Glue

ขั้นตอนต่อไปนี้อธิบายวิธีโหลดข้อมูลจากบัคเก็ต S3 ไปยัง MongoDB Atlas โดยใช้งาน AWS Glue กระบวนการแยกจาก MongoDB Atlas ไปยัง Amazon S3 นั้นคล้ายกันมาก ยกเว้นสคริปต์ที่ใช้อยู่ เราเรียกความแตกต่างระหว่างสองกระบวนการ

  1. สร้างคลัสเตอร์ฟรี ใน MongoDB Atlas
  2. อัปโหลดไฟล์ ตัวอย่างไฟล์ JSON ไปยังบัคเก็ต S3 ของคุณ
  3. สร้างงาน AWS Glue Studio ใหม่ด้วย ตัวแก้ไขสคริปต์ Spark ตัวเลือก

UI การสร้างงาน Glue Studio

  1. ขึ้นอยู่กับว่าคุณต้องการโหลดหรือแยกข้อมูลจากคลัสเตอร์ MongoDB Atlas ให้ป้อน โหลดสคริปต์ or แยกสคริปต์ ในโปรแกรมแก้ไขสคริปต์ AWS Glue Studio

ภาพหน้าจอต่อไปนี้แสดงข้อมูลโค้ดสำหรับการโหลดข้อมูลลงในคลัสเตอร์ MongoDB Atlas

ข้อมูลโค้ดสำหรับการโหลดข้อมูลลงใน MongoDB Atlas

รหัสใช้ ผู้จัดการความลับของ AWS เพื่อเรียกค้นชื่อคลัสเตอร์ MongoDB Atlas ชื่อผู้ใช้ และรหัสผ่าน จากนั้นจะสร้าง DynamicFrame สำหรับบัคเก็ต S3 และชื่อไฟล์ที่ส่งผ่านไปยังสคริปต์เป็นพารามิเตอร์ รหัสเรียกฐานข้อมูลและชื่อคอลเลกชันจากการกำหนดค่าพารามิเตอร์งาน สุดท้าย รหัสเขียน DynamicFrame ไปยังคลัสเตอร์ MongoDB Atlas โดยใช้พารามิเตอร์ที่ดึงมา

  1. สร้างบทบาท IAM โดยมีสิทธิ์ตามที่แสดงในภาพหน้าจอต่อไปนี้

ดูรายละเอียดเพิ่มเติมได้ที่ กำหนดค่าบทบาท IAM สำหรับงาน ETL ของคุณ.

สิทธิ์ตามบทบาท IAM

  1. ตั้งชื่องานและระบุบทบาท IAM ที่สร้างในขั้นตอนก่อนหน้าบน รายละเอียดงาน แถบ
  2. คุณสามารถปล่อยให้พารามิเตอร์ที่เหลือเป็นค่าเริ่มต้นได้ ดังที่แสดงในภาพหน้าจอต่อไปนี้
    รายละเอียดของงานรายละเอียดงานต่อ
  3. ถัดไป กำหนดพารามิเตอร์งานที่สคริปต์ใช้และระบุค่าดีฟอลต์
    พารามิเตอร์อินพุตงาน
  4. บันทึกงานและเรียกใช้
  5. เพื่อยืนยันการเรียกใช้ที่สำเร็จ ให้สังเกตเนื้อหาของคอลเลกชันฐานข้อมูล MongoDB Atlas หากกำลังโหลดข้อมูล หรือดูที่บัคเก็ต S3 หากคุณกำลังทำการแตกไฟล์

ภาพหน้าจอต่อไปนี้แสดงผลของการโหลดข้อมูลที่สำเร็จจากบัคเก็ต Amazon S3 ไปยังคลัสเตอร์ MongoDB Atlas ขณะนี้ข้อมูลพร้อมใช้งานสำหรับการสืบค้นใน MongoDB Atlas UI
โหลดข้อมูลลงในคลัสเตอร์ MongoDB Atlas

  1. หากต้องการแก้ไขปัญหาการวิ่งของคุณ ให้ตรวจสอบ อเมซอน คลาวด์วอตช์ บันทึกโดยใช้ลิงก์ในงาน วิ่ง แถบ

ภาพหน้าจอต่อไปนี้แสดงให้เห็นว่างานดำเนินการสำเร็จ โดยมีรายละเอียดเพิ่มเติม เช่น ลิงก์ไปยังบันทึกของ CloudWatch

รายละเอียดการรันงานที่ประสบความสำเร็จ

สรุป

ในโพสต์นี้ เราได้อธิบายวิธีแยกและนำเข้าข้อมูลไปยัง MongoDB Atlas โดยใช้ AWS Glue

ด้วยงาน AWS Glue ETL ตอนนี้เราสามารถถ่ายโอนข้อมูลจาก MongoDB Atlas ไปยังแหล่งที่มาที่เข้ากันได้กับ AWS Glue และในทางกลับกัน คุณยังสามารถขยายโซลูชันเพื่อสร้างการวิเคราะห์โดยใช้บริการ AWS AI และ ML

หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่ พื้นที่เก็บข้อมูล GitHub สำหรับคำแนะนำทีละขั้นตอนและโค้ดตัวอย่าง คุณสามารถจัดหา แผนที่ MongoDB บน AWS Marketplace


เกี่ยวกับผู้เขียน

อิกอร์ อเล็กเซเยฟ เป็น Senior Partner Solution Architect ที่ AWS ในโดเมน Data and Analytics ในบทบาทของเขา Igor กำลังทำงานร่วมกับพันธมิตรเชิงกลยุทธ์ที่ช่วยสร้างสถาปัตยกรรมที่ซับซ้อนและปรับแต่ง AWS ก่อนเข้าร่วม AWS ในฐานะ Data/Solution Architect เขาได้ดำเนินการหลายโครงการในโดเมน Big Data รวมถึง Data Lake หลายแห่งในระบบนิเวศ Hadoop ในฐานะวิศวกรข้อมูล เขามีส่วนร่วมในการใช้ AI/ML เพื่อตรวจจับการฉ้อโกงและระบบอัตโนมัติในสำนักงาน


บาบู ศรีนิวาสัน
เป็น Senior Partner Solutions Architect ที่ MongoDB ในบทบาทปัจจุบัน เขากำลังทำงานร่วมกับ AWS เพื่อสร้างการผสานรวมทางเทคนิคและสถาปัตยกรรมอ้างอิงสำหรับโซลูชัน AWS และ MongoDB เขามีประสบการณ์มากกว่าสองทศวรรษในด้านเทคโนโลยีฐานข้อมูลและคลาวด์ เขามีความกระตือรือร้นในการให้บริการโซลูชันทางเทคนิคแก่ลูกค้าที่ทำงานร่วมกับ Global System Integrators (GSI) หลายรายในหลากหลายภูมิภาค

ประทับเวลา:

เพิ่มเติมจาก AWS ข้อมูลขนาดใหญ่