Amazon EMR(Elastic MapReduce)は、
ビッグデータの処理・解析を簡単・スケーラブルに実行できるマネージドサービスです。
HadoopやSparkなどのオープンソースのビッグデータフレームワークを使って、大量データの処理、分析、変換、機械学習などをAWS上で簡単に実行できます。
🧠 一言でいうと…
「HadoopやSparkをAWS上で手間なく実行できるサービス」
🔧 対応している主なフレームワーク
フレームワーク | 用途 |
---|---|
Apache Hadoop | 分散処理の基盤(MapReduce) |
Apache Spark | 高速なインメモリ分散処理エンジン |
Apache Hive | SQLライクにHadoopを操作 |
Presto/Trino | 高速な分散SQLクエリエンジン |
Apache HBase | 分散型のNoSQLデータベース |
Apache Flink | ストリーム処理エンジン |
Jupyter Notebook | データ分析・ML用のインタラクティブ環境 |
🛠️ Amazon EMRの特徴
特徴 | 説明 |
---|---|
✅ スケーラブル | 数台〜数百台までノードを自動でスケーリング可能 |
✅ 安価 | スポットインスタンスでコスト削減も可能 |
✅ 柔軟な構成 | クラスタの構成(マスターノード、コア、タスクノード)を自由に選べる |
✅ S3連携 | 入出力データをS3と連携可能(EMRFS) |
✅ セキュア | IAMやVPC、Kerberosなどのセキュリティ機能も完備 |
✅ ステップ実行 | バッチ処理をステップとして順に実行できる |
🗂️ 主なユースケース
ユースケース | 説明 |
---|---|
ビッグデータ処理 | ログやIoTデータのバッチ分析(Hadoop, Spark) |
データレイク分析 | S3上のデータをPrestoやHiveで分析 |
機械学習 | Spark MLlibやJupyterでの分散学習 |
ETLパイプライン | データ抽出・変換・ロード処理(Glue代替) |
📊 アーキテクチャのイメージ
S3(データ) ←→ EMRクラスタ(Spark/Hadoopなど) ←→ 分析結果をS3やRDSへ
クラスタは必要なときだけ起動して、処理が終わったら削除することもできます(コスト最適化)。
💡 他の選択肢との比較(用途別)
目的 | サービス | 備考 |
---|---|---|
高速な分散バッチ処理 | ✅ EMR(Spark) | 柔軟かつスケーラブル |
データ変換中心のETL | AWS Glue | ノーコードでも可能 |
ストリーム処理 | Kinesis + Flink(on EMR) | 近リアルタイム分析 |
データウェアハウス | Amazon Redshift | SQL分析に特化 |
✅ まとめ
ポイント | 説明 |
---|---|
何ができる? | HadoopやSparkなどを用いたビッグデータ分析 |
何が便利? | 自動スケーリング、S3連携、豊富なOSSサポート |
向いている用途 | ログ集計、機械学習前処理、大規模バッチ分析など |