데이터 과학자가 온프레미스 ETL 프로세스를 AWS로 마이그레이션해야 합니다. 현재 프로세스는 스케줄에 따라 실행되며, PySpark를 사용하여 여러 대규모 데이터 소스를 병합하고 포맷하여 다운스트림 작업을 위한 통합된 출력으로 만듭니다. 클라우드 솔루션의 요구 사항은 다음과 같습니다. 여러 소스를 결합하고, 기존 PySpark 코드를 재사용하며, 기존 스케줄에 따라 실행하고, 관리해야 하는 서버 수를 최소화해야 합니다. 어떤 아키텍처가 이러한 요구 사항을 충족할까요?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: 원시 데이터를 Amazon S3에 저장합니다. 기존 로직을 재사용하기 위해 PySpark로 구현된 AWS Glue ETL 작업을 생성합니다. 현재 스케줄에 따라 실행되도록 AWS Glue 트리거를 구성하고, 작업이 처리된 출력을 다운스트림 사용을 위해 Amazon S3의 처리된 위치에 기록하도록 합니다..
이것이 정답인 이유
정답은 AWS Glue를 사용하는 것입니다. AWS Glue는 서버리스 ETL 서비스로, PySpark 코드를 직접 실행할 수 있어 기존 코드를 재사용하는 요구 사항을 충족합니다. 또한, AWS Glue 트리거를 사용하여 기존 스케줄에 따라 작업을 실행할 수 있으며, 서버를 관리할 필요가 없어 관리 오버헤드를 최소화합니다.
오답 설명:
Amazon EMR 클러스터는 PySpark 코드를 실행할 수 있지만, 영구적인 EMR 클러스터는 서버를 관리해야 하므로 "관리해야 하는 서버 수를 최소화"라는 요구 사항을 충족하지 못합니다.
AWS Lambda 함수는 서버리스이지만, 대규모 데이터 처리에는 적합하지 않으며, PySpark 코드를 직접 실행하기 어렵습니다. Python으로 ETL 로직을 재구현해야 하므로 기존 코드 재사용 요구 사항을 위반합니다.
Amazon Kinesis Data Analytics는 스트리밍 데이터 처리에 적합하며, PySpark 코드를 직접 실행할 수 없습니다. 이는 대규모 배치 데이터 소스를 병합하는 현재 시나리오와 맞지 않습니다.