EMR Studio は、R、Python、Scala、PySparkで記述されたデータエンジニアリングおよびデータサイエンスアプリケーションを、データサイエンティストやデータエンジニアが簡単に開発、視覚化、デバッグできるようにした統合開発環境 (IDE) です。
EMR Studio では、フルマネージド Jupyter ノートブックと、Spark UI や YARN Timeline Service などのツールを使用して、デバッグを簡素化できます。データサイエンティストとアナリストは、カスタムのカーネルやライブラリをインストールしたり、GitHub や BitBucket などのコードリポジトリを使用して同僚と共同作業を行ったりできます。また、Apache Airflow や Amazon Managed Workflows for Apache Airflow などのオーケストレーションサービスを使用して、スケジュールしたワークフローの一環として、パラメータ化されたノートブックを実行できます。
EMR Studio カーネルとアプリケーションは EMR クラスターで実行されるため、パフォーマンスに最適化された Apache Spark 用 の Amazon EMR ランタイムを使用して、分散データ処理のメリットを得ることができます。管理者は、アナリストが既存の EMR クラスターでアプリケーションを実行したり、EMR 用に事前定義された AWS CloudFormation テンプレートを使用して新しいクラスターを作成したりできるように EMR Studio をセットアップできます。
特徴と利点
使用が簡単
EMR Studio を使用すると、EMR クラスター上のアプリケーションと簡単にインタラクションできます。EMR Studio には、AWS IAM Authentication を使用して AWS コンソールからアクセスできるほか、AWS IAM アイデンティティセンター (AWS SSO の後継) を介して ID プロバイダー (IdP) からのフェデレーションアクセスを有効にすることで AWS コンソールにログインすることなくアクセスできます。ノートブックを使用してデータをインタラクティブに検索、処理、および視覚化し、パイプラインを構築およびスケジュールし、EMR クラスターにログインすることなくアプリケーションをデバッグできます。
フルマネージド Jupyter ノートブック
EMR Studio を使用すると、ノートブックを数秒で起動し、サンプルノートブックを使用してオンボーディングして、データの検索を実行できます。組み込みのリアルタイムコラボレーションを介して同僚とコラボレーションし、Git リポジトリを介してノートブックバージョン全体の変更を追跡できます。また、ノートブックからカスタムのカーネルや Python のライブラリをロードすれば、環境をカスタマイズできます。
簡単に構築できるアプリケーション
EMR Studio を使用すると、プロトタイピングから本番環境に簡単に移行できます。コードリポジトリからパイプラインをトリガーしたり、Apache Airflow や Amazon Managed Workflows for Apache Airflow などのオーケストレーションツールを使用してノートブックをパイプラインとして実行したり、シングルクリックでノートブックをより大きなクラスターにアタッチしたりできます。
簡素化されたデバッグ
EMR Studio を使用すると、アクティブなクラスターと終了したクラスターの両方について、クラスターにログインしなくても、ジョブをデバッグしてログにアクセスできます。Spark UI や YARN タイムラインサービスなどのネイティブアプリケーションインターフェイスを EMR Studio から直接使用できます。EMR Studio では、クラスターの状態、作成時刻、クラスター ID などのフィルターを使用して、デバッグするクラスターまたはジョブをすばやく見つけることもできます。
リアルタイムのコラボレーションノートブック
EMR Studio を使用すると、データサイエンティスト、エンジニア、およびアナリストは、チーム間でリアルタイムにコラボレーションできます。同僚を招待して、ノートブックを表示および編集できます。これにより、Jupyter ノートブックのリアルタイムの共同編集、コードデバッグ、およびコードレビューが可能になります。
SQL Explorer
EMR Studio では、EMR Studio からデータカタログを参照し、EMR クラスターに対して SQL クエリを実行することを可能にする機能である SQL Explorer をご利用いただけます。SQL Explorer では、Presto を利用する EC2 クラスター上の Amazon EMR に接続し、データカタログを表示および閲覧することが可能です。SQL Explorer では、SQL クエリの実行、クエリ結果のテーブル表示、クエリ結果の csv 形式でのダウンロードを行う Editor も利用できます。
多言語ノートブック
EMR Studio を使用すると、単一の Jupyter ノートブック内で複数の言語を使用できます。同じ Jupyter ノートブック内で Python 、Scala、SparkSQL、および R を切り替えて、一時テーブルを介してセル間でデータを共有できます。この機能を使用すると、ワークフローのさまざまなコンポーネントに最適な言語でコードを記述できます。
ユースケース
データサイエンスおよびエンジニアリングアプリケーションを構築する
EMR Studio を使用すると、ノートブックを数秒で起動し、サンプルノートブックを使用してオンボーディングして、データの検索を実行できます。組み込みのリアルタイムコラボレーションを介して同僚とコラボレーションし、Git リポジトリを介してノートブックバージョン全体の変更を追跡できます。また、ノートブックからカスタムのカーネルや Python のライブラリをロードすれば、環境をカスタマイズできます。
本番稼働用パイプラインをデプロイする
EMR Studio では、コードリポジトリを使用してパイプラインをトリガーできます。ノートブックをパラメータ化およびチェーン化し、パイプラインを構築することもできます。Apache Airflow や Amazon Managed Workflows for Apache Airflow などのワークフローオーケストレーションサービスを使用して、スケジュールされたワークフローにノートブックを統合できます。EMR Studio では、ノートブックをより大きなクラスターに再アタッチしてジョブを実行することもできます。
アプリケーションのデバッグを簡素化する
EMR Studio では、ノートブック UI からノートブックアプリケーションをデバッグできます。また、最初にクラスター状態などのフィルターを使用してクラスターを絞り込み、できるだけ少ないクリックでアクティブクラスターと終了したクラスターの両方のジョブを診断して、Spark UI、Tez UI、Yarn Timeline Service などのネイティブデバッグ UI を開くことでパイプラインをデバッグすることもできます。