すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:Presto

最終更新日:Sep 15, 2026

Presto (PrestoDB とも呼ばれます) は、大規模なインタラクティブな分析向けに構築された分散 SQL クエリエンジンです。Alibaba Cloud では、Presto のスタンドアロン製品は提供しておらず、Presto を個別に購入することはできません。Presto は、オープンソースのビッグデータプラットフォームである E-MapReduce (EMR) のコンポーネントとして提供されており、EMR クラスター上で Presto サービスをデプロイして使用します。このトピックでは、EMR 上の Presto の主要機能、アーキテクチャ、データモデル、および利点について説明します。

重要な注意事項

EMR のバージョン 3.45.0 および 5.11.0 以降では Presto がサポートされており、通常、バージョン番号は 0.2XX です。これより前の EMR バージョンでは、3XX のバージョン番号を持つ Presto コンポーネントは PrestoSQL または Trino カーネルを使用していました。詳細については、「Trino」をご参照ください。

主要機能

Presto は Java で記述されており、高いパフォーマンスと水平方向のスケーラビリティを実現するように設計されています。次の機能があります。

  • ANSI SQL を完全にサポートします。

  • Hive、Hudi、Iceberg、Delta Lake、MySQL、PostgreSQL など、幅広いデータソースに接続できます。

  • 次の高度なデータ型をサポートしています:

    • 配列とマップ

    • JSON データ

    • Geographic Information System (GIS) データ

    • カラーデータ

  • 複数の仕組みで拡張できます:

    • プラガブルデータコネクター

    • カスタムデータ型

    • カスタム SQL 関数

  • パイプライン処理:データの処理に合わせてクエリ結果をクライアントに段階的に返し、最初の結果が返るまでの時間を短縮します。

  • 組み込みの可観測性:

    • クエリ実行をリアルタイムで可視化する Web UI。

    • メトリクス収集のための JMX プロトコルのサポート。

アーキテクチャ

次の図は、Presto のシステムアーキテクチャを示しています。Presto系统组成

Presto は、コーディネーター/ワーカーアーキテクチャを採用しています。1 つのコーディネーターノードがクエリプランニングとクラスターの状態を管理し、複数のワーカーノードが分散クエリ実行を処理します。

コーディネーターの役割は次のとおりです:

  • クエリを受け付けて解析し、実行プランを生成して、プランフラグメントをワーカーノードに配布します。

  • ワーカーノードの正常性を監視します。各ワーカーは、コーディネーターとのハートビート接続を維持して状態を報告します。

  • メタストアのメタデータを維持します。

ワーカーノードは分散クエリタスクを実行します。コネクターを使用して外部ストレージシステムからデータを読み取って処理し、結果をコーディネーターに返します。

Presto は現時点では高可用性 (HA) アーキテクチャをサポートしていません。EMR クラスターでは、コーディネーターは master-1-1 ノードで実行されます。ワーカーはすべての Core ノードと Task ノードで実行されます。

ユースケース

Presto は、大規模なデータセットに対する分析ワークロード向けに最適化されています。次の用途に適しています:

  • Extract, transform, and load (ETL)

  • アドホッククエリ

  • 構造化データまたは半構造化データの大規模分析

  • 多次元データの集計およびレポート生成

重要

Presto はデータウェアハウスエンジンです。トランザクションのサポートは限定的であるため、オンライン トランザクション処理 (OLTP) のワークロードには適していません。

EMR 上の Presto の利点

セルフマネージドのオープンソース Presto と比べて、EMR 上の Presto には次の利点があります:

  • 迅速なセットアップ:数百ノード規模の Presto クラスターを数分で起動できます。

  • 最小限の設定で弾力的スケーリングが可能です。

  • Data Lake Formation (DLF)、Object Storage Service (OSS)、OSS-HDFS といった EMR ソフトウェアスタックとのネイティブな統合。

  • フルマネージドオペレーション:EMR がクラスターのプロビジョニングと運用保守 (O&M) を行うため、クエリに集中できます。

概念

データモデル

Presto は、カタログ、スキーマ、テーブルの 3 層の階層でデータを整理します。

  • カタログ:1 つ以上のスキーマを含み、コネクターがアクセスできる外部データソースに対応します。1 つのクエリで複数のカタログにまたがることができます。

  • スキーマ:データベースインスタンスに相当し、1 つ以上のテーブルを含みます。

  • テーブル:スキーマ内の標準的なリレーショナルテーブルです。

コネクター

コネクターは、Presto と外部データソース間の統合レイヤーです。Presto には一般的なシステム向けの組み込みコネクターが同梱されており、カスタムデータソースに接続するために実装できる標準 SPI も公開されています。

通常、各カタログは特定のコネクタータイプにバインドされ、カタログのプロパティファイルで定義されます。

詳細情報

使用しているバージョンのオープンソース Presto ドキュメントを表示するには、URL https://prestodb.io/docs/XXX/ の XXX を Presto コンポーネントのバージョン番号に置き換え、ブラウザーで URL を開きます。

たとえば、Presto のバージョンが 0.279 の場合、ドキュメントは https://prestodb.io/docs/0.279/ にあります。