【AWS】Amazon EMR ~ 入門編 ~

■ はじめに

Amazon EMR について、徐々にメモっていく

目次

【1】Amazon EMR (Elastic MapReduce)
【2】用語整理
 1)インスタンスグループ(マスタ / コア / タスク)
 2)EMRFS (EMR File System)
【3】サポートされているビッグデータフレームワーク
【4】メリット / デメリット

【1】Amazon EMR (Elastic MapReduce)

ビッグデータフレームワーク(Hadoop/Hive/HBase/Presto)を簡単に導入でき、
大量データを分散処理してくれるAWSサービス

公式サイト

https://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-what-is-emr.html
https://media.amazonwebservices.com/jp/wp/AWS_Amazon_EMR_Best_Practices.pdf
boto3 API
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/emr.html

【2】用語整理

1)インスタンスグループ(マスタ / コア / タスク)

* EMRは。起動時にEC2インスタンスを起動するが、以下の3種類に分かれる

1)マスタ

* ジョブフロー全体管理
* 1台のみ

2)コア

* HDFSを持ち、データを読み込みつつデータ処理を行う
* 1台~

3)タスク

* データ処理を行う(データは持たない)
* 0台~

2)EMRFS (EMR File System)

* AWS S3 を HDFSのように扱える
* 詳細は以下の関連記事を参照のこと

Amazon EMR ~ EMRFS ~
https://dk521123.hatenablog.com/entry/2020/11/13/145545

【3】サポートされているビッグデータフレームワーク

* Apache Spark
* Apache Hive
* Apache HBase
 ... データストア「BigTable」をベースにしたNoSQL
* Apache Flink
* Apache Hudi (Incubating)
* Apache Pig
* Presto(プレスト)
* Apache Phoenix
 ... HBaseに保存されているデータに対してACIDトランザクションを利用できる
* Apache Impala
 ... SQL構文でインタラクティブにアドホックにクエリをかけられる
etc

バージョン

 EMRのバージョンによって、
Hadoop や Hive のバージョンが異なるので
使用するバージョンを確認しておいたほうがいい

https://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/emr-release-6x.html

【4】メリット / デメリット

メリット

環境構築 / 運用(version up etc)が不要

デメリット

コストが掛かる

料金
https://aws.amazon.com/jp/emr/pricing/

EC2 料金 + EMR 料金がかかる

参考文献

https://www.atmarkit.co.jp/ait/articles/1701/01/news018_5.html
https://qiita.com/yasuzuki/items/f29d3a2db5c8b4217c9c
https://recipe.kc-cloud.jp/archives/10132
https://www.atmarkit.co.jp/ait/articles/1701/01/news018.html
https://www.atmarkit.co.jp/ait/articles/1701/01/news019.html
http://mgi.hatenablog.com/entry/2014/05/04/085148
https://japan.techrepublic.com/article/35074122.htm

関連記事

Amazon EMR ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2020/05/27/175610
Amazon EMR ~ boto3 編 ~
https://dk521123.hatenablog.com/entry/2020/06/24/173334
Amazon EMR ~ AWS Glueとの連携 ~
https://dk521123.hatenablog.com/entry/2020/11/12/113312
Amazon EMR ~ EMRFS ~
https://dk521123.hatenablog.com/entry/2020/11/13/145545
Amazon EMR ~ EMR内部 から SES で Email を送る ~
https://dk521123.hatenablog.com/entry/2021/07/09/115553
Amazon EMR に関するトラブル
https://dk521123.hatenablog.com/entry/2020/08/05/144724
Amazon EMR の クローン 時の トラブル
https://dk521123.hatenablog.com/entry/2021/08/19/113707
Hive / HiveQL ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/02/25/231235
Amazon Redshift ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/02/22/002139
Apache Hadoop ~ 環境設定 / Linux編 ~
https://dk521123.hatenablog.com/entry/2020/01/01/000000
AWS Glue ~ 基本編 / クローラ ~
https://dk521123.hatenablog.com/entry/2019/12/01/003455