AWS Glue를 사용하여 MongoDB Atlas용 ETL 작업 작성

AWS Glue를 사용하여 MongoDB Atlas용 ETL 작업 작성

소스 노드 : 2634433

오늘날의 데이터 기반 비즈니스 환경에서 조직은 분석 및 데이터 과학 목적을 위해 대량의 데이터를 효율적으로 준비하고 변환해야 하는 문제에 직면해 있습니다. 기업은 운영 데이터를 기반으로 데이터 웨어하우스와 데이터 레이크를 구축해야 합니다. 이는 서로 다른 소스에서 오는 데이터를 중앙 집중화하고 통합해야 할 필요성에 의해 추진됩니다.

동시에 운영 데이터는 레거시 데이터 저장소가 지원하는 애플리케이션에서 생성되는 경우가 많습니다. 애플리케이션을 현대화하려면 마이크로서비스 아키텍처가 필요하며, 이는 차례로 운영 데이터 저장소를 구축하기 위해 여러 소스의 데이터 통합을 필요로 합니다. 현대화하지 않으면 레거시 애플리케이션에 유지 관리 비용이 증가할 수 있습니다. 애플리케이션 현대화에는 기본 데이터베이스 엔진을 MongoDB와 같은 최신 문서 기반 데이터베이스로 변경하는 작업이 포함됩니다.

이 두 가지 작업(데이터 레이크 또는 데이터 웨어하우스 구축 및 애플리케이션 현대화)에는 ETL(추출, 변환 및 로드) 프로세스를 사용하는 데이터 이동이 포함됩니다. ETL 작업은 성공을 위해 잘 구성된 프로세스를 갖추기 위한 핵심 기능입니다.

AWS 접착제 분석, 기계 학습(ML) 및 애플리케이션 개발을 위해 여러 소스의 데이터를 쉽게 검색, 준비, 이동 및 통합할 수 있게 해주는 서버리스 데이터 통합 ​​서비스입니다. 몽고 DB 아틀라스 트랜잭션 처리, 관련성 기반 검색, 실시간 분석 및 모바일-클라우드 데이터 동기화를 우아하고 통합된 아키텍처에 결합하는 클라우드 데이터베이스 및 데이터 서비스의 통합 제품군입니다.

조직은 MongoDB Atlas와 함께 AWS Glue를 사용하여 ETL 프로세스를 간소화할 수 있습니다. 완전히 관리되고 확장 가능하며 안전한 데이터베이스 솔루션을 통해 MongoDB Atlas는 운영 데이터를 저장하고 관리하기 위한 유연하고 안정적인 환경을 제공합니다. AWS Glue ETL과 MongoDB Atlas는 데이터 레이크 및 데이터 웨어하우스 구축 방법을 최적화하고 애플리케이션을 현대화하여 비즈니스 성과를 개선하고 비용을 절감하며 성장과 성공을 추구하는 조직을 위한 강력한 솔루션입니다.

이 게시물에서는 다음에서 데이터를 마이그레이션하는 방법을 보여줍니다. 아마존 단순 스토리지 서비스 (Amazon S3) AWS Glue ETL을 사용하여 MongoDB Atlas에 대한 버킷 및 MongoDB Atlas에서 Amazon S3 기반 데이터 레이크로 데이터를 추출하는 방법.

솔루션 개요

이 게시물에서는 다음 사용 사례를 살펴봅니다.

  • MongoDB에서 데이터 추출 – MongoDB는 대규모 애플리케이션 데이터를 저장하기 위해 수천 명의 고객이 사용하는 인기 있는 데이터베이스입니다. 기업 고객은 데이터 레이크 및 데이터 웨어하우스를 구축하여 여러 데이터 저장소에서 오는 데이터를 중앙 집중화하고 통합할 수 있습니다. 이 프로세스에는 운영 데이터 저장소에서 데이터를 추출하는 작업이 포함됩니다. 데이터가 한 곳에 있으면 고객은 비즈니스 인텔리전스 요구 사항 또는 ML에 빠르게 데이터를 사용할 수 있습니다.
  • MongoDB에 데이터 수집 – MongoDB는 애플리케이션 데이터를 저장하고 운영 데이터 저장소를 구축하기 위한 비 SQL 데이터베이스 역할도 합니다. 애플리케이션 현대화에는 종종 운영 저장소를 MongoDB로 마이그레이션하는 작업이 포함됩니다. 고객은 관계형 데이터베이스 또는 플랫 파일에서 기존 데이터를 추출해야 합니다. 모바일 및 웹 앱은 종종 데이터 엔지니어가 데이터 파이프라인을 구축하여 Atlas에서 단일 데이터 보기를 생성하는 동시에 여러 사일로 소스에서 데이터를 수집해야 합니다. 이 마이그레이션 중에 그들은 문서를 생성하기 위해 서로 다른 데이터베이스를 조인해야 했습니다. 이 복잡한 조인 작업에는 상당한 일회성 컴퓨팅 성능이 필요합니다. 또한 개발자는 데이터를 마이그레이션하기 위해 이를 신속하게 구축해야 합니다.

AWS Glue는 종량제 모델과 방대한 데이터 세트에서 복잡한 변환을 실행할 수 있는 기능을 통해 이러한 경우에 유용합니다. 개발자는 AWS Glue Studio를 사용하여 이러한 데이터 파이프라인을 효율적으로 생성할 수 있습니다.

다음 다이어그램은 AWS Glue Studio를 사용하여 MongoDB Atlas에서 S3 버킷으로의 데이터 추출 워크플로우를 보여줍니다.

MongoDB Atlas에서 Amazon S3로 데이터 추출

이 아키텍처를 구현하려면 MongoDB Atlas 클러스터, S3 버킷 및 AWS 자격 증명 및 액세스 관리 (IAM) AWS Glue에 대한 역할. 이러한 리소스를 구성하려면 다음의 전제 조건 단계를 참조하십시오. GitHub 레포.

다음 그림은 AWS Glue를 사용하여 S3 버킷에서 MongoDB Atlas로의 데이터 로드 워크플로우를 보여줍니다.

Amazon S3에서 MongoDB Atlas로 데이터 로드

여기에는 S3 버킷, IAM 역할 및 MongoDB Atlas 클러스터와 같은 동일한 전제 조건이 필요합니다.

AWS Glue를 사용하여 Amazon S3에서 MongoDB Atlas로 데이터 로드

다음 단계에서는 AWS Glue 작업을 사용하여 S3 버킷에서 MongoDB Atlas로 데이터를 로드하는 방법을 설명합니다. MongoDB Atlas에서 Amazon S3로의 추출 프로세스는 사용되는 스크립트를 제외하면 매우 유사합니다. 우리는 두 프로세스의 차이점을 설명합니다.

  1. 무료 클러스터 만들기 몽고DB 아틀라스에서.
  2. 업로드 샘플 JSON 파일 S3 버킷에.
  3. 다음을 사용하여 새 AWS Glue Studio 작업을 생성합니다. 스파크 스크립트 편집기 옵션을 선택합니다.

Glue Studio 작업 생성 UI

  1. MongoDB Atlas 클러스터에서 데이터를 로드할지 추출할지 여부에 따라 다음을 입력합니다. 로드 스크립트 or 스크립트 추출 AWS Glue Studio 스크립트 편집기에서.

다음 스크린샷은 데이터를 MongoDB Atlas 클러스터로 로드하기 위한 코드 스니펫을 보여줍니다.

데이터를 MongoDB Atlas로 로드하기 위한 코드 스니펫

코드는 AWS 비밀 관리자 MongoDB Atlas 클러스터 이름, 사용자 이름 및 비밀번호를 검색합니다. 그런 다음 DynamicFrame 매개변수로 스크립트에 전달된 S3 버킷 및 파일 이름. 코드는 작업 매개변수 구성에서 데이터베이스 및 콜렉션 이름을 검색합니다. 마지막으로 코드는 다음을 작성합니다. DynamicFrame 검색된 매개변수를 사용하여 MongoDB Atlas 클러스터에.

  1. 다음 스크린샷에 표시된 권한이 있는 IAM 역할을 생성합니다.

자세한 내용은 ETL 작업에 대한 IAM 역할 구성.

IAM 역할 권한

  1. 작업에 이름을 지정하고 이전 단계에서 생성한 IAM 역할을 직업 세부 정보 탭.
  2. 다음 스크린샷과 같이 나머지 매개변수는 기본값으로 둘 수 있습니다.
    작업 세부 정보작업 세부 정보 계속
  3. 그런 다음 스크립트가 사용하는 작업 매개변수를 정의하고 기본값을 제공하십시오.
    작업 입력 매개변수
  4. 작업을 저장하고 실행하십시오.
  5. 성공적인 실행을 확인하려면 데이터를 로드하는 경우 MongoDB Atlas 데이터베이스 컬렉션의 내용을 관찰하고 추출을 수행하는 경우 S3 버킷을 관찰하십시오.

다음 스크린샷은 Amazon S3 버킷에서 MongoDB Atlas 클러스터로의 성공적인 데이터 로드 결과를 보여줍니다. 이제 MongoDB Atlas UI에서 쿼리에 데이터를 사용할 수 있습니다.
MongoDB Atlas 클러스터에 로드된 데이터

  1. 실행 문제를 해결하려면 다음을 검토하십시오. 아마존 클라우드 워치 작업의 링크를 사용하여 로그 달리기 탭.

다음 스크린샷은 CloudWatch 로그에 대한 링크와 같은 추가 세부 정보와 함께 작업이 성공적으로 실행되었음을 보여줍니다.

성공적인 작업 실행 세부 정보

결론

이 게시물에서는 AWS Glue를 사용하여 MongoDB Atlas에 데이터를 추출하고 수집하는 방법을 설명했습니다.

AWS Glue ETL 작업을 통해 이제 MongoDB Atlas에서 AWS Glue 호환 소스로 또는 그 반대로 데이터를 전송할 수 있습니다. 또한 AWS AI 및 ML 서비스를 사용하여 분석을 구축하도록 솔루션을 확장할 수 있습니다.

자세한 내용은 다음을 참조하십시오. GitHub 저장소 단계별 지침 및 샘플 코드. 당신은 조달할 수 있습니다 몽고 DB 아틀라스 AWS 마켓플레이스에서.


저자에 관하여

이고르 알렉세예프 데이터 및 분석 도메인에서 AWS의 선임 파트너 솔루션 설계자입니다. Igor는 자신의 역할에서 전략적 파트너와 협력하여 그들이 복잡하고 AWS에 최적화된 아키텍처를 구축하는 데 도움을 주고 있습니다. AWS에 합류하기 전에는 데이터/솔루션 설계자로 Hadoop 에코시스템의 여러 데이터 레이크를 포함하여 빅 데이터 도메인에서 많은 프로젝트를 구현했습니다. 데이터 엔지니어로서 사기 탐지 및 사무 자동화에 AI/ML을 적용하는 일에 참여했습니다.


바부 스 리니 바산
MongoDB의 선임 파트너 솔루션 아키텍트입니다. 현재 역할에서 그는 AWS와 협력하여 AWS 및 MongoDB 솔루션을 위한 기술 통합 및 참조 아키텍처를 구축하고 있습니다. 그는 데이터베이스 및 클라우드 기술 분야에서 XNUMX년 이상의 경험을 가지고 있습니다. 그는 여러 지역에 걸쳐 여러 글로벌 시스템 통합업체(GSI)와 협력하는 고객에게 기술 솔루션을 제공하는 데 열정적입니다.

타임 스탬프 :

더보기 AWS 빅 데이터