AlibabaCloud E-MapReduce(EMR)を試してみた ~プロダクト紹介編~（and AWS比較）

## はじめに

**Alibaba Cloud E-MapReduce(EMR)**を試してみました。

EMRは大量のデータの分析と処理を可能にするビッグデータ処理ソリューションです。

HadoopやEMR自体の説明はすでにWeb上に良質な記事がたくさんありますので、
AlibabaのEMRに特化した説明とします。

## AlibabaCloudとは

Alibaba Cloudは日本国内では知る人ぞ知るクラウドサービスですが、
グローバルのマーケットシェアで見ると**世界5位**(Amazon, Microsoft, Google, IBMに次ぐ）
につけています。

- 参考
    - [AWS、Azure、Googleがクラウドインフラ市場で下位との差をさらに広げる。ただしアリババは例外。2018年第4四半期、Synergy Research Group](https://www.publickey1.jp/blog/19/awsazuregoogle20184synergy_research_group.html)



サービスラインナップとしては、AWS/Azureに匹敵するものを提供しています。

サービス比較としていい記事がありましたので興味のある方はどうぞ↓
[[2019年5月版] Alibaba Cloudの中国版/国際版/日本版比較表（and AWS/Azure/GCP）](https://qiita.com/ohiro18/items/02c5da6d6590dfe3ed0d)



また、アリババ自身がデータ活用を原動力にして成長してきたこともあり、
ビッグデータ系ではデータ収集〜データ管理/加工〜分析〜可視化まで包括的なサービスラインナップを提供しています。

- 参考
    - [アリババグループのビッグデータで切り拓く日本企業の未来（日経XTREND）](https://trend.nikkeibp.co.jp/atcl/contents/watch/00013/00040/)

## AlibabaCloud EMRのアーキテクチャ

AlibabaCloud EMRのアーキテクチャです。
OSSはオブジェクトストレージ（AWSでいうとS3）で、OSSをHDFSのように扱うことで計算資源とストレージを分離することができます。
（この点はAWS EMRと同じです）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/427238/a8dec2ac-25e0-338e-ad00-1a373b66e68b.png)


## AlibabaCloud EMRで使用可能なコンポーネント

AlibabaCloud EMRで使用可能なコンポーネントとバージョンの一覧を掲載します。
AWSとの比較もしています。

| コンポーネント | Alibaba EMR-3.20.0 | AWS EMR-5.23.0 |
|----------------|--------------------|----------------|
| Hadoop         | 2.8.5            | 2.8.5          |
| YARN           | 2.8.5              | 2.8.5          |
| Hive           | 3.1.1              | 2.3.4          |
| Spark          | 2.4.2              | 2.4.0          |
| Knox           | 1.1.0              | -              |
| Zeppelin       | 0.8.1              | 0.8.1          |
| Tez            | 0.9.1              | 0.9.1          |
| ApacheDS       | 2.0.0              | -              |
| Ganglia        | 3.7.2              | 3.7.2          |
| Pig            | 0.14.0             | 0.17.0         |
| Sqoop          | 1.4.7              | 1.4.7          |
| Hue            | 4.1.0              | 4.3.0          |
| HBase          | 1.4.9              | 1.4.9          |
| ZooKeeper      | 3.4.13             | 3.4.13         |
| Presto         | 0.213              | 0.215          |
| Impala         | 2.12.2             | -              |
| Flume          | 1.8.0              | -              |
| Livy           | 0.6.0              | 0.5.0          |
| Superset       | 0.28.1             | -              |
| Ranger         | 1.2.0              | -              |
| Flink          | 1.7.2              | 1.7.1          |
| Storm          | 1.2.2              | -              |
| Phoenix        | 4.14.1             | 4.14.1         |
| SmartData      | 1.0.0              | -              |
| Bigboot        | 1.0.0              | -              |
| Oozie          | 5.1.0              | 5.1.0          |
| Kafka          | 1.1.1              | -              |
| Kafka-Manager  | 1.3.3.16           | -              |
| Spark          | 2.3.2              | 2.4.0          |
| Analytics Zoo  | 0.2.0              | -              |
| Jupyter        | 4.4.0              | 5.7.0          |
| TensorFlow     | 1.8.0              | 1.12.0         |
| Druid          | 0.13.0             | -              |
| JupyterHub     | -                  | 0.9.4          |
| MXNet          | -                  | 1.3.1          |
| HCatalog       | -                  | 2.3.4          |
| Mahout         | -                  | 0.13.0         |

ご覧の通り、ほとんどAWSと同等かそれ以上のコンポーネントが揃っています。
ImpalaなどAWSにはないコンポーネントもあり、コンポーネントの豊富さは隠れた嬉しいポイントかもしれません。

## AWSと比較した、Alibaba Cloud EMRの使いどころ

上記の通り、AlibabaCloud EMRではAWSとほとんど同じコンポーネントが使えます。
EMRはHadoop等のオープンソースのマネージドサービスであることもあり、
ユースケースにそれほど差異はないと言えると思います。

ではどんな時にAlibabaCloudを使うか？
使い所としては、**AlibabaCloudのコストの安さ**に着目するのもありと思います。

- [AWS Alibaba Azure GCPの仮想サーバー性能比較](https://qiita.com/ushijimay/items/28b51fbc14573cf7f9be)

上記の記事で検証されていますが、従量課金のCPU特化インスタンスとしては、
**Alibabaが最もコストパフォーマンスが高い**です。

EMRはステップ実行としてオンデマンド（従量課金）でインスタンスを利用することが多いと思いますので、
この場合はAlibabaCloudでコストを削減可能なケースも多いかと思います。

## 次回予告

次回は実際にAlibaba EMRでクラスターを作成してみます！