지난주까지 본 Glue는 "서버를 신경 쓰지 않는 ETL"이었다. 그런데 데이터 규모가 테라바이트를 넘어가고, 복잡한 머신러닝 전처리나 Hive·HBase·Presto 같은 빅데이터 생태계 도구를 함께 써야 하면, 더 큰 자유도와 제어권이 필요해진다. 그 영역을 책임지는 서비스가 **Amazon EMR(Elastic MapReduce)**다.
EMR은 한마디로 "관리형 하둡/스파크 클러스터"다. EC2 위에 Apache Spark, Hive, Presto, HBase, Flink 같은 오픈소스 빅데이터 프레임워크를 묶어 자동으로 프로비저닝하고 운영한다. Glue가 "추상화된 ETL 함수"라면, EMR은 "내가 직접 다루는 분산 컴퓨팅 클러스터"에 가깝다. 시험에서는 이 둘의 선택 기준이 단골 주제다.
EMR 클러스터는 노드(EC2 인스턴스)들의 집합이며, 각 노드는 역할을 가진다.
| 노드 타입 | 역할 | 개수 |
|---|---|---|
| Primary (마스터) | 클러스터 조정, 작업 분배, 메타데이터 관리 | 1개 (또는 HA 시 3개) |
| Core | 데이터 저장(HDFS) + 연산 동시 수행 | 1개 이상 |
| Task | 연산 전용, HDFS 저장 안 함 | 0개 이상 (선택) |
핵심 구분은 Core 노드는 HDFS 데이터를 들고 있고, Task 노드는 연산만 한다는 점이다