AWS は、世界最大のパブリックおよびプライベート クラウド データ センター プロバイダーです。AWS は、ビッグ データ処理ポートフォリオの一部として、Glue と Amazon EMR を開発しました。AWS Glue は、データ サイエンティストが Amazon S3 経由でデータを操作および移動するのに役立つ抽出、変換、ロード (ETL) ツールです。
Amazon EMR (Amazon Elastic MapReduce の略) は、ビッグデータ処理、リアルタイム データ ストリーム、SQL クエリ、機械学習プラットフォームです。EMR は、Apache Spark クラスターやその他のビッグデータ エンジンの実行とスケールアップに使用できます。
どちらのツールも ETL 処理機能を提供しますが、どちらを選択するかは現在のインフラストラクチャに大きく依存します。AWS Glue と EMR を比較して、両方のプラットフォームを並行して使用するか、どちらか一方を選択するかがビジネスに適しているかどうかを判断しましょう。
AWS Glue は、 AWS クラウドで利用できるサーバーレス データ統合サービスです。このプラットフォームは、データアナリストがさまざまなソースからデータを検出し、データを複数の形式とスキーマに準備し、データマッピングを使用してデータセットを結合できるようにすることを目指しています。AWS Glue は、データベース、データレイク、データウェアハウス ソースなどのさまざまなデータストアで動作します。
非技術系ユーザー向けの視覚化されたインターフェースと、技術系ユーザー向けのより強力なコードベースのインターフェースのおかげで、ETL ワークフローへの参入障壁が低くなりました。AWS Glue のすべてのメタデータは AWS Glue データカタログに保存されるため、どのユーザーでも関連するデータセットを見つけてアクセスできます。
Amazon Elastic MapReduce (EMR) はビッグデータ プラットフォームです。Apache Spark やその他の分析エンジンを介して、人工知能や機械学習のワークロードのリアルタイム データ ストリーミングをサポートします。これは、ソースからデータを抽出してターゲットに配信するスケーラブルなデータ パイプラインによって実現されます。EMR の大規模な予測分析と統計モデルを使用して、傾向や相関関係を明らかにすることもできます。
EMR の利点には、オンプレミスの半分のコストでペタバイト レベルのスケーラビリティを実現できること、分析ワークロードの分析結果を得るまでの時間が最大 2 倍高速であることなどがあります。EMR Studio を使用すると、データ パイプラインを構築し、データ フローを視覚化し、SQL クエリを実行できます。
AWS Glue と EMR はどちらも ETL プロセスとワークフローを有効にすることができます。ただし、2 つのサービスの動作方法には根本的な違いがいくつかあります。
AWS Glue は、インフラストラクチャ、構成オプション、セットアップを処理するサーバーレス データ統合プラットフォームです。構造化データ形式と半構造化データ形式を操作して、スキーマ参照を自動的に推測できます。
Amazon EMR は、Amazon EC2 インスタンスやクラスターなどの自己構成インフラストラクチャ向けのマネージド サービス オーバーレイです。EMR では専用のサーバーレス オプションも提供しています。EMR は、Amazon Athena、Amazon Redshift、その他のビッグ データ分析ソリューションのデータ ストレージとともに、Spark、Hive、HBase、Presto などの Apache Hadoop エコシステム コンポーネントをサポートしています。
まとめると、AWS Glue はセットアップと使用が簡単なスケーラブルな ETL プラットフォームです。ただし、使いやすさには制限があり、より柔軟なインフラストラクチャ要件を持つジョブに適しています。Amazon EMR には、Hadoop コンポーネント ホスティング互換性、TensorFlow 機械学習ライブラリ、Presto SQL クエリなど、はるかに豊富な機能セットがあります。Glue はよりシンプルなデータ ETL および統合ワークフローに適していますが、EMR はより包括的なデータ操作マネージド サービスプラットフォームです。
ほとんどのクラウド サービスと同様に、すぐに使える機能が多ければ多いほど、コストが高くなります。AWS Glue はサーバーレス プラットフォームであるため、インフラストラクチャの展開と構成を無視して、ETL ワークフローに集中できます。
EMR は既存のデータ ソースを利用して、SQL クエリ、データ ストリーミング、その他の ETL プロセスを容易にします。これにより、データの展開と構成の負担が軽減されるため、コストが削減されます。これらのコスト削減は、EMR の構成と展開を行う従業員への支払いと、付随する各 AWS サービスの追加運用コストによって相殺される可能性があります。
2022 年 4 月現在、AWS Glue の最大のワーカータイプは G.2X です。これには 32 GB のエグゼキュータメモリの上限があるため、高度に圧縮されたファイルを解凍すると「メモリ不足」エラーが発生する可能性があります。一方、EMR は任意の AWS インスタンスタイプを使用できるため、最大 24 テビバイト (TiB) までのはるかに大きな RAM 割り当てが可能です。
クラウドに大規模なデータを保存する場合、分散コンピューティング エンジン、クラウドネイティブ データベース、データ ウェアハウスを使用すると便利です。Amazon EMR と AWS Glue は、組織がこれを実現するために使用できる 2 つのサービスです。Glue ジョブまたは EMR を個別に使用する方が適している可能性があるシナリオをさらに 2 つ見てみましょう。
まったく新しいデータワークフローをテストする場合は、AWS Glue の方が適している可能性があります。インフラストラクチャの構成と展開を省略し、データワークフローを実行するだけです。Glue は従量課金制 (PAYG) なので、無駄な出費のリスクはほとんどありません。
テスト環境や 1 回限りのワークフロー用に EMR クラスターを構成すると、労力は増えますが、ビジネスにはほとんどメリットがありません。唯一の問題は、データ ソースとの Glue の互換性です。対照的に、EMR はすべての AWS インスタンス タイプを使用して、より柔軟に機能します。
ビッグデータ処理や機械学習のワークロードの場合、柔軟性が高い EMR の方が適している可能性があります。機械学習、ディープラーニング、データ ETL、リアルタイム ストリーミング分析を安全かつ確実に処理できます。
Glue は、抽出、変換、ロード (ETL) アクションに重点を置いています。機械学習変換を実行できますが、処理および書き込みウィンドウが 100 秒間続くため、リアルタイム ストリーミング分析には多くの制限があります。Glue スキーマ検出では、ストリーミング データ結合アクションも無効になり、組み込みの Glue 変換または Apache Spark Structured Streaming 変換のみがサポートされます。
AWS Glue と Amazon EMR は、シンプルさと柔軟性が差別化された類似のプラットフォームです。AWS Glue は、クラウドで ETL ジョブをすばやく簡単に実行できる方法です。EMR は、既存のインフラストラクチャを使用して ML ワークロードのリアルタイム データ ストリーミングと並行して ETL を可能にする、より堅牢で機能豊富なビッグ データ処理ソリューションです。EMR の柔軟性には管理上の負担が伴いますが、サーバーレス機能が不要なため、Glue よりも費用がかからないことがよくあります。
結局のところ、Amazon EMR は小規模および大規模なデータ操作に適していますが、Glue はよりアドホックで、小規模なバッチジョブに適しています。ただし、目的が異なるため、すぐに開始したいアドホックタスクには Glue を使用し、長期にわたる大規模な分散データ処理ジョブには EMR というように、両方のツールを使用する場合もあります。
ETL 移行について詳しく知りたいですか?
Trianz がレガシーデータベースと既存の ETL ツールから AWS Glue への移行時間を最大 50% 短縮する方法をご覧ください。