USER MANUALS

Denodo 組み込み MPP

Denodo では、更新プログラム 8.0u20230301 以降、クエリを高速化するために、Denodo Platform の組み込み超並列処理 (MPP) として動作するように、Presto をカスタマイズしてきました。詳細は「 Denodo 8.0u20230301 の新機能 」のセクションを参照してください。

重要

Denodo 組み込み MPP を使用するには、 エンタープライズプラス サブスクリプションバンドルと更新プログラム 8.0u20230301 が必要です。

MPP Architecture

Denodo 組み込み MPP を使用するには、Denodo に登録する必要があります。 登録プロセスは、以下のタイミングで実行できます。

  • デプロイプロセス中に --register オプションを使用

    cluster.sh deploy --register
    
  • デプロイプロセス後に register コマンドを使用

    cluster.sh register --register-user --register-password [--presto-password]
    

登録プロセスの詳細を以下に示します。

  1. 新しいデータベース admin_denodo_mpp 、新しいユーザー denodo_mpp_user 、および特殊なデータソースとして Denodo 組み込み MPP データソース embedded_mpp を構成します。

    embedded_mpp data source

    embedded_mpp データソース

    Denodo 組み込み MPP データソースを使用すると、Amazon S3、Azure Data Lake Storage、HDFS などのオブジェクトストレージをグラフィカルに確認し、Parquet ファイル形式で保存されたデータから基本ビューを作成できます (「 Parquet 形式のオブジェクトストレージデータ 」を参照)。

    embedded_mpp データソースをオブジェクトストレージに接続するには、[Read Write] タブで手動で [Object storage configuration] を構成する必要があります。アクセスするファイルシステムを選択し、資格情報を入力する必要があります。GUI で使用できるファイルシステムは、S3、および HDFS です。Azure Data Lake Storage など、Hadoop API と互換性のある他のシステムを使用できます。これを行うには、[HDFS] を選択し、[Hadoop properties] で必要な値を指定します (「 Hadoop 互換ルートのサポート 」のセクションを参照してください)。

    embedded_mpp Object Storage configuration

    embedded_mpp オブジェクトストレージ構成

    その後で、そのオブジェクトストレージから参照するパスを追加できます。必要な資格情報とパスを保存済みであれば、[Create Base View] をクリックし、それらのパスを参照してインポート対象を選択できます。Denodo では、Parquet 形式のテーブル (Hive スタイルのパーティション分割を使用するテーブルなど) に対応するフォルダが自動的に検出されます。

    embedded_mpp base view creation

    embedded_mpp 基本ビューの作成

    インポートするテーブルを選択し、[Create selected] をクリックして基本ビューを作成します。基本ビューが作成され、そのデータにアクセスするためのテーブルが embedded_mpp データソースに作成されます。そのデーブルは、組み込み MPP および指定したスキーマの Hive カタログに作成されます。そのスキーマは、[Create Base View] ダイアログの下部にある [Target schema] ドロップダウンから選択できます。

    Denodo は、テーブルごとにストアドプロシージャ COMPUTE_SOURCE_TABLE_STATS を呼び出して、その統計を自動的に計算します。このストアドプロシージャは、Denodo 組み込み MPP オプティマイザーがコスト戦略に基づいてクエリプランを生成するために使用するデータに関する統計情報を収集します。

    多くのシナリオでは、Hive テーブル/Denodo 基本ビューを作成した後に新しいパーティションが追加されます。それらの新しいパーティションは、組み込み MPP のメタストアが更新されて、Hive テーブルが作成された後またはそれが最後に同期した後に追加されたすべての新しいパーティションが取得されるまで、クエリ結果に反映されません。したがって、オブジェクトストレージのパーティションを組み込み MPP のメタストアのパーティションと同期する必要がある場合、 REFRESH_SOURCE_TABLE_METADATA ストアドプロシージャを実行します。

  2. この Denodo 組み込み MPP でクエリの高速化を考慮するように Denodo クエリオプティマイザーを構成します。

    Denodo Embedded MPP acceleration

    Denodo 組み込み MPP の高速化

    これは、クエリで S3、Azure Data Lake、HDFS などのオブジェクトストレージに保存されている大量の Parquet データと、別のデータソースにあるデータを結合するシナリオで役に立ちます。このような場合、Denodo クエリオプティマイザーは、クエリを Denodo 組み込み MPP に送信することを決定する可能性があります。Denodo 組み込み MPP は、独自のエンジンを使用してオブジェクトストレージのデータにアクセスできます。また、一時テーブルやファイルを作成せずに、Denodo からストリーミングでオブジェクトストレージ外のデータにアクセスできます。

    このようにして、Denodo のクエリエンジンは、その強力な最適化技術、フェデレーション、セキュリティ機能と、ビッグデータの並列処理を組み合わせることができます。

Denodo で Denodo 組み込み MPP を登録した後、 VALIDATE_MPP_LICENSE を呼び出して、登録が正常に完了しているか検証することをお勧めします。このストアドプロシージャは、 8.0u20240306 更新プログラムに用意されています。

重要

embedded_mpp データソースから Denodo 組み込み MPP に接続するための要件:

Denodo 組み込み MPP が使用する証明書がプライベート証明機関によって署名されているか、または自己署名されている場合、Denodo サーバーのトラストストアに Denodo 組み込み MPP の証明書をインポート する必要があります。

certs/certificate.crt は、 テスト目的でのみ 配布されています。

この証明書は、Denodo 組み込み MPP のホスト名として presto-denodo を受け入れます。この場合、Denodo サーバーが動作しているマシンで hosts ファイルに presto-denodo のエントリを presto サービスの EXTERNAL-IP として表示される IP を使用して追加する必要があります。

Kubernetes services status

Kubernetes サービスのステータス

Ping External IP

外部 IP に対する ping の実行

hosts file

hosts ファイル

注釈

Denodo サーバーのクラスタを使用している場合、組み込み MPP の高速化 の手法を利用するために、 そのクラスタのメタデータが外部データベースに保存される ようにクラスタを構成する必要があります。Virtual DataPort サーバーが 1 台のみの環境では、次を実行することでこの制限を回避できます。

SET 'queryOptimization.parallelProcessing.denodoConnector.enableUsingSharedMetadataOnly'='false';
Add feedback