CLOUD SERVICE · AWS

Amazon EMR

Amazon EMR is a managed AWS service for large-scale data processing with frameworks like Hadoop and Spark, offering petabyte-scale analytics on a scalable infrastructure at a lower cost than owning Hadoop clusters.

Cloud Services Hub →
Arch_Amazon EMR_64 imageIcon source: AWS

What is Amazon EMR

Read the extensive description

Amazon EMR (Elastic MapReduce) is a cloud service provided by Amazon Web Services (AWS) that simplifies the processing and analysis of large volumes of data. It integrates with various open-source frameworks, notably Apache Hadoop and Apache Spark, but also supports others like Apache Hive and Presto, enabling a wide range of data processing tasks, from batch processing to real-time analytics.

At its core, EMR facilitates the setup, management, and scaling of data processing clusters in the cloud. Users can quickly provision as many or as few resources as needed, scaling the computing capacity to meet the demands of their data processing jobs. This flexibility helps optimize costs, as users only pay for the resources they consume.

EMR applications can run on EMR clusters with Amazon EC2 instances, on AWS Outposts, on Amazon EKS, or with EMR Serverless.

EMR is fault tolerant for node failures and continues job execution if a node goes down. It provisions a new node when a core node fails, but does not replace nodes if all nodes in the cluster are lost. It also integrates seamlessly with other AWS services, such as Amazon S3 for storage, Amazon RDS and Amazon DynamoDB for database services, and Amazon CloudWatch for monitoring and logging, making it a versatile choice for comprehensive data analytics pipelines.

Security in EMR is robust, offering features like encryption in transit and at rest, network isolation using Amazon VPC, and integrated identity management with AWS IAM. This ensures that data is not only processed efficiently but also kept secure from unauthorized access.

Overall, Amazon EMR provides a comprehensive, scalable, and cost-effective solution for processing vast amounts of data, making it a popular choice for organizations looking to leverage big data analytics without the overhead of managing traditional on-premises data centers.

Key Amazon EMR Features

Big Data Framework Management

EMR simplifies launching, terminating, and managing big data frameworks like Apache Hadoop or Spark, handling setup, configuration, and optimization.

Diverse Data Processing

Supports various big data frameworks beyond Hadoop and Spark, like HBase, Presto, and Flink, with pre-configured or customizable settings.

Scalability and Resource Management

Automatically scales the underlying cluster, managing tasks like patching and monitoring, and offers auto-scaling to match workload demands.

Cost Efficiency

Provides a pay-as-you-go model, reducing costs compared to on-premises deployments, with options for Spot and Reserved Instances to further save expenses.

Data Accessibility

Facilitates easy access and processing of data from storage solutions like Amazon S3 and databases such as DynamoDB.

Security Features

Offers encryption, network isolation with Amazon VPC, and integrated identity management with AWS IAM to ensure data security and compliance.

Deployment Flexibility

Features like EMR on EKS for Kubernetes integration and EMR on Outposts for on-premises data processing, along with a Serverless mode, provide flexible deployment options.

Amazon EMR Use Cases

Data Transformation and Preprocessing

EMR is often used to clean, transform, and prepare large datasets for analysis. Organizations use it to run ETL (extract, transform, load) jobs to organize data into structured formats, making it easier to analyze and obtain insights.

Log Analysis

EMR processes and analyzes log data from web and mobile apps using frameworks like Hive, Pig, and Spark, enabling deep insights into user behavior and system performance.

Data Warehousing

Companies build data warehouses on EMR, ingesting and structuring data from diverse sources for business intelligence and reporting.

Machine Learning Workflows

Utilizing Spark MLlib and Hadoop MapReduce, EMR supports data preprocessing, model training, and evaluation for machine learning.

Genomic Research

Life science organizations leverage EMR for genomic sequencing and analysis, handling large-scale datasets in research.

Fraud Detection

Financial institutions analyze transaction data on EMR to identify fraud and suspicious activities, leveraging its scalability for large-scale data analysis.

IoT Analytics

EMR processes sensor data from IoT devices, supporting predictive maintenance and smart city applications through data transformation and analysis.

Website Analytics

By processing website logs and activity data, EMR aids companies in understanding customer behavior and optimizing conversions.

Amazon EMR pricing models

Amazon EMR on Amazon EC2

You pay for the EMR service as well as the underlying EC2 instances and any attached EBS volumes. These charges are billed per second with a one-minute minimum. EC2 pricing options include On-Demand, one-year and three-year Reserved Instances, Capacity Savings Plans, and Spot Instances. Spot Instances are spare EC2 capacity available at up to a 90% discount compared to On-Demand prices.

Amazon EMR on Amazon EKS

If you are running EMR on Amazon EKS (Elastic Kubernetes Service), you pay for the EKS cluster resources and EMR charges. EMR pricing is based on the vCPU and memory resources requested for the pods running your jobs, measured from the start of the EMR application image download until the pod terminates and rounded up to the nearest second.

Amazon EMR on AWS Outposts

Provides an on-premises option. Pricing includes EMR service charges as well as EC2 instance and Outpost hardware costs.

Amazon EMR Serverless

You pay for aggregate worker vCPU, memory, and storage resources from the time workers are ready to run your workload until they stop, rounded up to the nearest second with a one-minute minimum. Workers configured to start at application startup are billed until the application stops or remains idle. With custom images, billing begins when EMR Serverless starts downloading the image.

Amazon EMR WAL

Amazon EMR WAL charges for usage as EMR-WAL-WALHours, writes as WriteRequestGiB, and reads as ReadRequestGiB.

Services Amazon EMR integrates with

AWS Glue image AWS Glue

Amazon EMR integrates with AWS Glue for data cataloging and schema management.

Open AWS Glue →
Amazon EC2 image Amazon EC2

Amazon EMR provisions a cluster of Amazon EC2 instances to run big data frameworks and applications.

Open Amazon EC2 →
Amazon CloudWatch image Amazon CloudWatch

Amazon EMR integrates with Amazon CloudWatch to monitor and log metrics and events from EMR clusters.

Open Amazon CloudWatch →
Amazon Simple Storage Service image Amazon S3

Amazon EMR uses Amazon S3 for data storage and to store EMR logs and bootstrap actions.

Open Amazon S3 →

Concepts related to Amazon EMR