EMR Studioのアップグレード内容
「EMR Studio は、JupyterLab v3.1.4 にアップグレードしました。」
このような記事がAWS公式サイトに投稿されたのは年明け2022年1月7日のことです。わかりやすく整理すると、従来EMR Studioで採用していたJupyter Notebookを、同じくProject JupyterのJupyterLabに変更するということになります。 【参考】:Amazon EMR Studio 【参考】:EMR Studio は、JupyterLab v3.1.4 にアップグレードしました。
そもそも Amazon EMRとは
Amazon EMRとは、Apache Spark・Apache Hadoop・Apache Hive・Apache HBase・Apache Hudi・Presto などのオープンソースフレームワークを使用した大規模分散クラウドビッグデータプラットフォームサービスです。データ処理、相互分析、機械学習等のビッグデータワークロードに活用できます。
Amazon EMR では標準的な Apache Sparkの1.7 倍以上の速さで、ペタバイト規模の分析を実行できます。従来のオンプレミスの半分以下のコストと試算されています。 【参考】:Amazon EMR
Amazon EMR Studioとは
Amazon EMR Studioは、データサイエンティストやデータエンジニアが簡単に開発、視覚化、デバッグできるようにした統合開発環境(IDE)です。R・Python・Scala・PySpark で記述されたビッグデータおよび分析アプリケーションを利用・開発することができます。 【参考】:Amazon EMR Studio
これまでAWSではEMR開発のフルマネージドサービスとして、作業を簡単かつ効率的に行うためにJupyter Notebookを採用していました。EMRクラスタで動作し、Apache SparkのEMRランタイムを分散データ処理で利用できます。そのためにAWS Cloud Formationのテンプレートも用意されています。
Amazon EMR Studioの利用イメージ
EMR Studioでは、JupyterLabをベースにしたフルマネージドノートブックを利用できます。具体的な利用イメージは次の通りです。
・データサイエンスアプリケーションのビルド用途 AWSコンソールにログインせずにフルマネージドのノートブックを利用できます。すぐさまデータ分析を行ったり、GitHubを介してノートブックを共有したりできます。環境のカスタマイズやカーネルのカスタマイズ・Pythonライブラリの活用も可能です。
・開発供給のデプロイ用途 Apache Airflow やAmazon Managed Workflows for Apache Airflowのようなワークフローのオーケストレーションをノートブックと統合し、スケジューリング利用できます。ジョブをクラスタで実行することも可能です。
・アプリケーションデバッグの簡素化 ノートブックUIからノートブックアプリケーションのデバッグが可能です。Spark UI・Tez UI・ Yarn Timeline Serviceの各UIを統合呼び出しすることもできます。
Amazon EMR Studioの今回の対応メリット
今回のアップグレードでは、JupyterLabのメリットが得られます。つまりセル出力の検索やセルの実行時間と期間の表示、あるいはマークダウンセルで自動生成された目次を表示することで、ノートブックの操作や移動がより便利に行えます。最後の実行以降にコード変更されたセルを識別する視覚的なインジケーターも提供されます。
このアップグレードは自動的に実行されますので、AWSでは利用者側の操作は不要と表明しています。
Amazon EMR Studioの利用料金
Amazon EMR Studioの利用料金ですが、Amazon EMRクラスタ用Amazon S3ストレージサービスで課金され、Amazon EMR Studioには料金がかかりません。
Amazon EMR自体の料金は、Amazon EMR on Amazon EC2・Amazon EMR on Amazon EKS・Amazon EMR on AWS Outposts・Amazon EMR Serverless向けに設定されています。詳細は以下のリンクをご確認ください。 【参考】:Amazon EMR の料金
Amazon EMR Studioの提供リージョン
Amazon EMR Studio は、以下の各リージョンで利用可能です。
・北米地域 米国東部(オハイオ、バージニア北部)、米国西部 (オレゴン))、カナダ(中部) ・南米地域 サンパウロ ・欧州・中東・アフリカ地域 アイルランド、フランクフルト、ロンドン、パリ、ストックホルム ・アジアパシフィック地域 ムンバイ、ソウル、シンガポール、シドニー、東京
Amazon EMR Studioのサンプル
Amazon EMR Studioはノートブックで利用可能なサンプルやテンプレートを公開しています。具体的にはAWSがGitHubにAWS Samplesとして登録しているリポジトリに、EMR Studio Notebook Examplesとして公開しています。ご興味あればサイトをご確認ください。 【参考】:EMR Studio Notebook Examples
JupyterLabとは
JupyterLab は、オープンソース Project Jupyterの次世代ウェブベースでのユーザーインターフェースです。JupyterLabはJupyter Notebookの次世代ユーザインターフェイスを提供するもので、Jupyter Notebookの機能をカバーします。
一般的にはAnacondaのcondaコマンド・高速パッケージマネージャのmamba・Python標準のpipコマンドを用いてインストールし、コードコンソールやマルチドキュメントによる統合開発環境(IDE)として使用が可能です。統合開発環境とはソフトウェア開発に必要とされるエディタ・言語処理・デバッグ・実行に関するツールを単一の操作環境から利用できるようにしたものです。 【参考】:Project Jupyter | Home 【参考】:JupyterLab Documentation
そもそもJupyter Notebookとは
Jupyter Notebookとは、オープンソースソフトウェアの統合開発環境(IDE)です。Jupyter NotebookではPythonを始めとする多言語での開発を、ウェブブラウザやウェブベースアプリケーションを用いて行うことができます。 【参考】:The Jupyter Notebook
Jupyter Notebookはデータ分析機能があるため、ビッグデータのデータ分析・統合にも用いることができます。科学技術計算や機械学習等を目的とする方には特におすすめです。
Jupyter Notebookのメリットは?
Jupyter Notebookのメリットは、豊富なライブラリを用いてデータ分析を行うことができることです。オープンソースソフトウェアのため、無償で利用できます。データ分析の主要ライブラリであるNumPy・SciPy・Matplotlib・SymPy・pandas等をPythonやIPythonで利用できます。
また、Jupyter Notebookのドキュメントはプログラムコードに加えて、数式や図式を入れることができるためデータ分析の統合開発環境として人気があります。
JupyterLabとJupyter Notebookの違いは?
JupyterLabとJupyter Notebookは、ともにProject Jupyterのユーザインターフェースとして位置づけられています。JupyterLabは、Jupyter Notebookの操作方法を改善したものです。従来のJupyter Notebookの画面はファイルブラウザとエディタのビューで構成されていましたが、JupyterLabは、ファイルエクスプローラービューとメインビューの統合画面で構成されています。
JupyterLabでは、主要な統合開発環境で用いられているマルチドキュメントが単一ウィンドウで表示できるため、直感的な編集作業ができるように改善されています。つまりJupyterLabはJupyter Notebookできることはそのままに、さらに使い勝手が良くなった統合開発環境、となります。
EMR Studioでも採用されたJupyterLabに注目しましょう
Amazon EMR Studioは、Amazon EMR用統合開発環境です。Amazon EMR自体は大規模な分散データ処理向けプラットフォームソリューションとなりますので、なかなか触れる機会も多くないと考えます。
Amazon EMRの開発環境として提供されるAmazon EMR StudioのJupyterLab自体はオープンソースですので、パッケージマネージャを用いてインストール・利用することができます。まずはデータサイエンスや人工知能(AI)の開発環境としてJupyterLabを利用し、自身のビッグデータでの可能性を高めることをおすすめします。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから