Amazon Web Services 한국 블로그

Apache Spark용 Amazon EMR 런타임을 통한 질의 성능 최적화하기

Amazon EMR이 발표하는 Apache Spark용 Amazon EMR 실행 시간은 EMR 클러스터에서 기본적으로 활성화되는 Apache Spark를 위해 성능 최적화된 실행 시간 환경입니다. Spark용 EMR 실행 시간은 EMR 5.16보다 최대 32배 빠르며 오픈소스 Spark에 대한 100% API 호환성을 제공합니다. 즉, 워크로드가 더 빠르게 실행되므로 애플리케이션 변경 없이 컴퓨팅 비용을 절감할 수 있습니다.

Amazon EMR은 EMR 5.24부터 Spark 실행 시간 환경을 개선해 왔고, 관련 내용은 Spark 성능 최적화에 설명되어 있습니다. EMR 5.28에는 새로운 개선 사항이 추가되었습니다.이러한 개선 사항을 측정하기 위해 EMR 5.16(오픈소스 Apache Spark 버전 2.4 사용)과 EMR 5.28(Apache Spark 버전 2.4와 호환되는 Apache Spark용 EMR 사용)을 비교했습니다. 3TB 규모의 TPC-DS 벤치마크 쿼리를 Amazon S3에 저장된 데이터를 사용하여 6노드 c4.8xlarge EMR 클러스터에서 실행했습니다.

총 쿼리 실행 시간의 상승 평균(기하 평균)과 모든 쿼리에 대한 총 쿼리 실행 시간을 통해 성능 개선을 측정했으며, 결과에는 상당한 개선이 나타났습니다. 총 쿼리 실행 시간의 상승 평균은 2.4배 빨랐고 총 쿼리 실행 시간은 3.2배 빨랐습니다.

다음 그래프에는 104 TPC-DS 쿼리의 총 실행 시간으로 측정된 성능 개선이 나와 있습니다. EMR 5.28의 실행 시간이 더 우수합니다(더 짧음).

다음 그래프에는 104 TPC-DS 쿼리의 상승 평균으로 측정된 성능 개선이 나와 있습니다. EMR 5.28의 상승 평균이 더 우수합니다(더 짧음).

성능 개선을 쿼리별로 나누어 보면 장기 실행 쿼리에서 가장 높은 성능 개선을 확인할 수 있습니다.

다음 그래프는 장기 실행 쿼리(EMR 5.16에서 130초 이상 실행)에서 EMR 5.16과 비교되는 EMR 5.28의 성능 개선을 보여 줍니다. 이 비교에서는 숫자가 클수록 성능이 우수합니다.

다음 그래프는 단기 실행 쿼리(130초 미만 실행)에서 EMR 5.16과 비교되는 EMR 5.28의 성능 개선을 보여줍니다. 마찬가지로, 숫자가 클수록 성능이 우수합니다.

쿼리 72에서 볼 수 있듯이 130초 이상 실행되는 쿼리는 최대 32배 더 빠릅니다. 130초 미만으로 실행되는 쿼리는 최대 6배 더 빠르며 전반적으로 평균 2배의 개선된 성능을 제공합니다.

Spark는 대규모 변환부터 스트리밍, 데이터 과학 및 기계 학습에 이르는 다양한 분석 사용 사례에 사용됩니다. Spark를 EMR에서 실행하면 최신의 안정적인 오픈소스 커뮤니티 혁신, Amazon S3의 고성능 스토리지스팟 인스턴스Auto Scaling이 제공하는 독자적인 비용 절감 기능을 활용할 수 있습니다. 또한 관리형 EMR Notebooks, 노트북 범위 라이브러리, Git 통합클러스터 외부 Spark 기록 서비스를 통한 간편한 디버깅 및 모니터링을 활용하여 사용 편의성을 개선할 수 있습니다. Amazon EMR은 실행 시간을 개선하는 동시에 AWS Lake Formation을 사용한 세분화된 액세스 제어를 지원하여 Apache Spark를 실행하기에 가장 적합한 실행 환경을 제공합니다.

Apache Spark의 성능을 최적화하는 이러한 기능들은 쿼리 성능을 개선하는 데 도움이 됩니다. Amazon EMR은 계속해서 Apache Spark 성능을 개선하는 기능을 발표할 것입니다. 최신 정보를 받아보려면 빅 데이터 블로그의 RSS 피드를 구독하여 Apache Spark 최적화, 구성 모범 사례 및 튜닝 조언에 대해 자세히 알아보십시오.

이 글은 AWS Big Data 블로그의 Amazon EMR introduces EMR runtime for Apache Spark 한국어 번역입니다.

Joseph Marques 님은 Amazon Web Services의 EMR 부문 수석 엔지니어입니다.

 

 

 

 

Peter Gvozdjak 님은 Amazon Web Services의 EMR 부문 선임 엔지니어링 관리자입니다.