Amazon EMR 4.1.0は、Spark 1.5.0、Hue 3.7.1、Presto、Oozie、Zeppelinに対応

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

EMR4.1.0リリース

こんにちは、EMR見習いの横田です。今回は、EMR4.1.0リリースについてお知らせします。ここでは、待ちに待った周辺ソフトウェアの対応についてお知らせ致します。Spark、Hue、Presto、Oozie、Zeppelinあたりの対応によって、かなり実用的になったのではと思います。

なお、EMRのセットアップ手順については、以前に解説した記事がありますので、そちらを御覧ください。

Amazon EMR 4.0.0で始める Apache Spark 1.4.1

まずはセットアップ

EMRの管理コンソールにアクセスしてクラスター作成を選択しますと、お手軽作成モードを選べますが、これだとSpotインスタンスが初期指定されていないので、アドバンスオプションのモードに切り替えたいと思います。

こちらは、お手軽モード

screenshot 2015-10-02 6.52.01

screenshot 2015-10-02 6.50.16

こちらは、アドバンスモード

screenshot 2015-10-02 6.53.56

さて、数クリックして数分待つとクラスターの起動が完了します。とても簡単です。そして、各アプリケーションにアクセスするためにセキュリティグループでポートを開けたいと思います。本来であればProxyでトンネリングですが面倒だったのでMyIPからのTCPは全て許可してみました。

screenshot 2015-10-02 7.13.49

Apache Spark 1.5.0

それでは、Apache Spark 1.5.0にアクセスしてみます。SSHからMasterノードに入ります。

$ ssh -i key/mykey.pem ec2-user@XXX.XXX.XXX.XXX
Last login: Fri Sep 25 22:47:53 2015 from YYY.YYY.YYY.YYY

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2015.03-release-notes/
No packages needed for security; 1 packages available
Run "sudo yum update" to apply all updates.
Amazon Linux version 2015.09 is available.
                                                                    
EEEEEEEEEEEEEEEEEEEE MMMMMMMM           MMMMMMMM RRRRRRRRRRRRRRR    
E::::::::::::::::::E M:::::::M         M:::::::M R::::::::::::::R   
EE:::::EEEEEEEEE:::E M::::::::M       M::::::::M R:::::RRRRRR:::::R 
  E::::E       EEEEE M:::::::::M     M:::::::::M RR::::R      R::::R
  E::::E             M::::::M:::M   M:::M::::::M   R:::R      R::::R
  E:::::EEEEEEEEEE   M:::::M M:::M M:::M M:::::M   R:::RRRRRR:::::R 
  E::::::::::::::E   M:::::M  M:::M:::M  M:::::M   R:::::::::::RR   
  E:::::EEEEEEEEEE   M:::::M   M:::::M   M:::::M   R:::RRRRRR::::R  
  E::::E             M:::::M    M:::M    M:::::M   R:::R      R::::R
  E::::E       EEEEE M:::::M     MMM     M:::::M   R:::R      R::::R
EE:::::EEEEEEEE::::E M:::::M             M:::::M   R:::R      R::::R
E::::::::::::::::::E M:::::M             M:::::M RR::::R      R::::R
EEEEEEEEEEEEEEEEEEEE MMMMMMM             MMMMMMM RRRRRRR      RRRRRR

$ sudo su - hadoop
$ pyspark
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 1.5.0
      /_/

Using Python version 2.6.9 (unknown, Apr  1 2015 18:16:00)
SparkContext available as sc, HiveContext available as sqlContext.
>>>

Spark 1.5.0であることを確認できました!

Hue 3.7.1

待ちに待ったHue3.7.1です。これはSparkに対応しています。早速アクセスしてみましょう。ブラウザから8888ポート指定でアクセスします。

screenshot 2015-10-02 7.27.55

管理ユーザを作成するば、すぐに使いはじめることができます。

screenshot 2015-10-02 7.32.32

なんて簡単なんだ。。。

AWSのサンプルも豊富です。例えばELBのアクセスログを解析します。

screenshot 2015-10-02 7.28.40

Hiveクエリーを実行すると

screenshot 2015-10-02 8.03.04

IPアドレス毎のカウントがでます。

screenshot 2015-10-02 8.04.01

これをチャート化

screenshot 2015-10-02 8.04.36

いやーすごい

Presto

中間データをインメモリで持つことで高速に処理を実行するエンジンです。

ブラウザから8889ポート指定でアクセスします。

presto

screenshot 2015-10-02 10.18.40

さて、Webインタフェースをどのように使うかドキュメントが見当たらない。。。w

Apache Oozie

Apache Oozie は、「ワークフローを作成し、ジョブ間でのスケジュール管理を行う」というプロセスを単純化する、Java 技術をベースにしたオープンソース・プロジェクトです。

screenshot 2015-10-02 10.58.16

Apache Oozie Workflow Scheduler for Hadoop

Apache Zeppelin

Apache Zeppelinは、インタラクティブなデータ分析を行うためのWebベースなノートブックです。SQLやScalaを使ってインタラクティブにドキュメントを操作しキレイな見た目で表現できます。

ブラウザから8890ポート指定でアクセスします。

screenshot 2015-10-02 10.17.22

Apache Zeppelin (incubating)

まとめ

最近のAWSは、イケてるOSSを全部取り込む勢いです。面倒なセットアップを省いて直ぐに使える状態で提供してくれるので、すぐに試せてイイですね!

参考資料

Amazon EMR Sandbox Applications

Amazon EMR Release 4.1.0 – Spark 1.5.0, Hue 3.7.1, HDFS Encryption, Presto, Oozie, Zeppelin, Improved Resizing