E-MapReduce (EMR) は、データ開発、コンピューティングエンジン、データサービス、リソース管理、データストレージ、およびデータ統合レイヤーで、オープンソースコンポーネントと独自開発コンポーネントを提供します。ビジネス要件に基づいてコンポーネントを選択および構成できます。
クラスタの作成時に必要なコンポーネントが使用できない場合、または使用したいオープンソースコンポーネントが既存ユーザーのみが使用できる場合は、ビジネス要件に基づいてコンポーネントを手動でインストールおよび管理できます。
EMR は Alibaba Cloud サービスとオープンソースコンポーネントを統合し、自己開発コンポーネントとクラスタ管理機能を提供します。次の図に示すように、EMR アーキテクチャに基づいて EMR の使用シナリオを表示し、EMR によって提供されるビッグデータコンポーネントを表示できます。
データ開発
データ開発レイヤーのサービスとコンポーネントは、コードの管理、データの収集、データのクレンジング、データモデルの構築、データの分析、およびジョブのスケジュール設定を行うための可視化ツールを提供します。これは、企業がデータ資産の管理と活用における効率を向上させるのに役立ちます。
EMR でデータを開発するには、Alibaba Cloud DataWorks を使用することをお勧めします。次の表に、サービスについて説明します。
サービス名 | 説明 | 参照資料 |
DataWorks | DataWorks は、データ統合、データ開発、データガバナンス、データ品質管理、データ O&M、およびセキュリティ制御機能を提供します。複雑なデータ統合とデータガバナンスが必要なシナリオで DataWorks を使用できます。 |
データ開発レイヤーでは、オープンソースコンポーネントである Hue または Superset を使用できます。次の表に、オープンソースコンポーネントについて説明します。
タイプ | コンポーネント名 | 説明 | 参照資料 |
オープンソース | Hue | Hue は既存ユーザーのみが使用できます。 Hue は、Apache Hadoop エコシステムと対話できる Web UI を提供します。 | |
Superset | Superset は既存ユーザーのみが使用できます。 Superset は、データの可視化とダッシュボードの構成を行うための機能を提供するデータ可視化プラットフォームです。 |
コンピューティングエンジン
EMR は、バッチ処理、インタラクティブ分析、ストリームコンピューティング、機械学習などに使用されるコンピューティングエンジンなど、さまざまな主流のコンピューティングエンジンをサポートしています。コンピューティングエンジンを使用して、さまざまなビッグデータシナリオの要件に合わせてデータの構造とロジックを変換できます。
タイプ | コンポーネント名 | 説明 | 参照資料 |
オープンソース | Spark | Spark は、高速で汎用的なビッグデータ処理エンジンであり、インメモリデータ処理機能を提供し、バッチ処理、リアルタイム処理、機械学習、グラフコンピューティングなど、複数のデータ処理モードをサポートします。 | |
Hive | Hive は Hadoop ベースのデータウェアハウスツールであり、HiveQL などの SQL に似た言語を使用して、Hadoop 内の大規模データを保存、クエリ、および分析できます。 | ||
StarRocks | StarRocks は、Massively Parallel Processing (MPP) フレームワークに基づいて構築された次世代の高速データ分析エンジンです。 StarRocks は、オンライン分析処理 (OLAP) 分析、高並列クエリ、リアルタイムデータ分析など、さまざまなシナリオに適しています。 | ||
Doris | Apache Doris は、レポート分析、アドホッククエリ、データレイク全体のフェデレーションクエリの高速化などのシナリオで使用できる、高パフォーマンスのリアルタイム分析データベースです。 | ||
ClickHouse | ClickHouse は、効率的な OLAP 分析と大量データの高速クエリを実行するために使用される、オープンソースの列指向データベース管理システム (DBMS) です。 | ||
Trino | Trino (旧称 PrestoSQL) は、インタラクティブな分析クエリに適したオープンソースの分散 SQL クエリエンジンです。 | ||
Flink | Flink は、大規模なリアルタイムデータストリームを処理するために使用されるストリーミング実行エンジンです。 | ||
Presto | Presto (旧称 PrestoDB) は、柔軟でスケーラブルな分散 SQL クエリエンジンです。 Presto を使用して、インタラクティブな分析クエリを実行できます。 | ||
Tez | Apache Tez は、有向非循環グラフ (DAG) をサポートする分散ビッグデータ処理フレームワークです。 MapReduce を Tez に置き換えることで、クエリとバッチタスクのパフォーマンスと効率を向上させることができます。 | ||
Phoenix | Phoenix は、HBase の上に構築された SQL 中間レイヤーです。 Phoenix を使用すると、標準 SQL 文を実行して HBase データをクエリおよび管理できます。 | ||
Impala | Impala は既存ユーザーのみが使用できます。 Impala は、Apache Hadoop に保存されているデータに対して、高パフォーマンスで低レイテンシの SQL クエリを提供します。 | ||
Kudu | Kudu は既存ユーザーのみが使用できます。 Kudu は、分散型、スケーラブル、かつ列指向のデータストレージシステムであり、低レイテンシのランダムデータの読み取りと書き込みをサポートし、データに対する効率的な分析を提供します。 | ||
Druid | Druid は既存ユーザーのみが使用できます。 Druid は、分散型のリアルタイムインメモリ分析システムであり、大規模データセットに対する高速でインタラクティブなクエリと分析を提供します。 |
DataServing
データサービスレイヤーのコンポーネントは、データの暗号化、アクセスの制御、データのクエリ、データへのアクセス、API 操作などのさまざまな機能を提供し、ビッグデータ環境におけるデータセキュリティ、データ操作、および分析の効率を向上させます。
タイプ | コンポーネント名 | 説明 | 参照資料 |
オープンソース | Ranger | Ranger は、主に Hadoop エコシステム内の権限管理と監査に使用される、集中型のセキュリティ管理フレームワークです。 | |
Kerberos | Kerberos は、対称鍵暗号に基づく身分認証プロトコルです。 Kerberos は、他のサービスに身分認証機能を提供し、シングルサインオン (SSO) をサポートします。 | ||
OpenLDAP | OpenLDAP は、Lightweight Directory Access Protocol (LDAP) のオープンソース実装です。 OpenLDAP は、ユーザーとリソースに関する情報を管理および保存し、身元を認証するために使用されます。 | ||
Kyuubi | Kyuubi は、分散型のマルチテナントゲートウェイであり、データ分析とクエリを簡素化し、データレイククエリエンジンに SQL クエリなどのクエリサービスを提供します。 | ||
ZooKeeper | ZooKeeper は、効率的な分散調整サービスです。 ZooKeeper は、分散構成、同期、ネーミングなど、分散アプリケーション向けのさまざまな機能を提供します。 ZooKeeper はまた、一貫性があり、高パフォーマンスで信頼性の高いクラスタ管理ソリューションも提供します。 | ||
Knox | Knox は REST API ゲートウェイであり、Hadoop エコシステム内のサービスに安全にアクセスする手順を簡素化し、集中型の身分認証とアクセスの制御を提供します。 | ||
Livy | Livy は、RESTful API またはリモートプロシージャコール (RPC) クライアントライブラリを使用して Spark と対話するサービスです。 | ||
Kafka Manager | Kafka Manager は既存ユーザーのみが使用できます。 Kafka Manager は、Kafka 用に設計されたクラスタ管理ツールです。 Kafka Manager は、Kafka クラスタを管理および監視できる Web UI を提供します。 | ||
独自開発 | DLF-Auth | DLF-Auth は Data Lake Formation (DLF) によって提供されます。 DLF-Auth を使用して、データベース、テーブル、列、および関数に対してきめ細かい権限管理を実装できます。このようにして、データレイクで集中型の権限管理を実装できます。 |
リソース管理
リソース管理レイヤーのコンポーネントは、効率的なリソーススケジューリングと管理機能を提供します。コンポーネントを使用して、自動タスクスケジューリング、インテリジェントリソース割り当て、およびエラスティッククラスタスケーリングを実装できます。これにより、ビッグデータ処理の効率と信頼性が向上します。
タイプ | コンポーネント名 | 説明 | 参照資料 |
オープンソース | YARN | YARN は Hadoop のリソース管理システムです。 YARN を使用してクラスタのリソースをスケジューリングおよび管理することにより、さまざまなタイプの分散コンピューティングタスクをクラスタ上で効率的に実行できます。 |
データストレージ
データストレージレイヤーのコンポーネントは、構造化データと非構造化データの分散ストレージをサポートします。特定のコンピューティングエンジンの要件に合わせて適切なストレージ方法を選択できます。
タイプ | コンポーネント名 | 説明 | 参照資料 |
独自開発 | OSS-HDFS | OSS-HDFS は、Hadoop 分散ファイルシステム (HDFS) API と互換性のあるオブジェクトストレージソリューションです。 OSS-HDFS を使用すると、ビッグデータコンピューティングタスクは、標準 HDFS プロトコルに基づいて Alibaba Cloud Object Storage Service (OSS) に保存されているデータに直接アクセスできます。 | |
JindoCache | JindoCache は、大規模データアクセスを高速化するために使用される分散キャッシュソリューションです。 JindoCache はデータブロックをメモリにキャッシュして、データ読み取りパフォーマンスを向上させ、基盤となるストレージシステムの負荷を軽減します。 | ||
ESS | Remote Shuffle Service (ESS) は既存ユーザーのみが使用できます。 EMR を初めて使用する場合は、Celeborn を使用することをお勧めします。 ESS は、シャッフル操作の読み取りおよび書き込みパフォーマンスを最適化するために使用されます。 | ||
JindoData | JindoData は既存ユーザーのみが使用できます。 EMR を初めて使用する場合は、JindoCache を使用することをお勧めします。 JindoData は、データレイクシステム向けの独自開発のストレージアクセラレーションスイートです。 JindoData は、Alibaba Cloud およびビッグデータと AI 業界の他のベンダーのデータレイクシステムにエンドツーエンドのソリューションを提供します。 | ||
SmartData | SmartData は既存ユーザーのみが使用できます。 EMR を初めて使用する場合は、OSS-HDFS を使用することをお勧めします。 SmartData は、EMR の独自開発コンポーネントです。 SmartData は、EMR 内のさまざまなコンピューティングエンジンのストレージ、キャッシング、およびコンピューティングを集中管理方式で最適化し、コンピューティングエンジンで複数のストレージ機能を拡張します。 SmartData は、データアクセス、データガバナンス、およびデータセキュリティのシナリオで使用されます。 | ||
オープンソース | Paimon | Paimon は、ストリーミングモードとバッチモードでデータを処理できるデータレイクプラットフォームです。 Paimon は、高スループットのデータ書き込みと低レイテンシのデータクエリをサポートします。 | |
Hudi | Hudi は、Hadoop 互換ファイルシステムでデータを更新および削除できるデータレイクフレームワークです。 Hudi を使用すると、変更されたデータを使用することもできます。 | ||
Iceberg | Iceberg は、高パフォーマンスの読み取りと書き込みを提供し、メタデータ管理機能を提供するオープンデータレイクテーブル形式です。 | ||
Delta Lake | Delta Lake は、原子性、一貫性、分離性、耐久性 (ACID) トランザクション、スケーラブルなメタデータ処理、および集中型ストリーミングとバッチ処理をサポートするオープンソースのデータストレージレイヤーとして機能します。 | ||
HDFS | HDFS は、大規模データセットを保存するために使用される分散ファイルシステムです。 HDFS は、高いフォールトトレランスと高スループットを備えています。 HDFS は、クラスタ内の複数のノードにデータを冗長的に保存できます。 | ||
HBase | HBase は、Hadoop ファイルシステムに基づいて構築された、分散型の列指向のオープンソースデータベースです。 HBase は、低レイテンシのランダム読み取りと書き込みを提供し、大規模データセットの高信頼性ストレージをサポートします。 | ||
Celeborn | Celeborn は中間データを処理するサービスです。 Celeborn は、ビッグデータコンピューティングエンジンの安定性、柔軟性、およびパフォーマンスを向上させることができます。 | ||
HBase-HDFS | HBase-HDFS は HDFS の上に構築されており、ストレージとコンピューティングが分離されているシナリオで HBase の WAL ファイルを保存するために使用されます。 | ||
Alluxio | Alluxio は既存ユーザーのみが使用できます。 Alluxio は、データ分析と AI 向けのクラウド指向のオープンソースデータオーケストレーションテクノロジーです。 Alluxio は、統一インターフェイスとクロスレイヤーの基盤となるストレージからのデータアクセスをサポートします。 |
データ統合
データ統合レイヤーのコンポーネントは、データをバッチで送信し、メッセージをストリーミングモードで処理し、分散ログを収集できる機能を提供します。これにより、データ送信効率とデータ収集の信頼性が向上します。
タイプ | コンポーネント名 | 説明 | 参照資料 |
オープンソース | Flume | Flume は、分散型で信頼性が高く、可用性の高いシステムです。 Flume を使用して、大量のログデータを収集、集約、および移動し、データを一元的に保存できます。 | |
Sqoop | Sqoop は、Hadoop とリレーショナルデータベース間でデータを効率的に送信するために使用されるツールです。 Sqoop を使用して、大量のデータをインポートおよびエクスポートできます。 | ||
Kafka | Kafka は既存ユーザーのみが使用できます。 Kafka は、高スループット、低レイテンシ、および永続性を備えたオープンソースの分散イベントストリーミングプラットフォームです。 Kafka は、リアルタイムデータストリームを処理し、データパイプラインを構築するために広く使用されています。 |
参照資料
EMR のアーキテクチャについては、「ECS 上の EMR とは」トピックのアーキテクチャセクションをご参照ください。
さまざまなバージョンの EMR クラスタでサポートされているサービスとサービスバージョンについては、さまざまなバージョンの EMR クラスタでサポートされているサービスをご参照ください。
さまざまなタイプの EMR クラスタのユースケースとサービスについては、「構成を選択する」トピックのビッグデータシナリオセクションをご参照ください。