Denodo 組み込み MPP¶
Denodo では、更新プログラム 8.0u20230301 以降、クエリを高速化するために、Denodo Platform の組み込み超並列処理 (MPP) として動作するように、Presto をカスタマイズしてきました。詳細は「 Denodo 8.0u20230301 の新機能 」のセクションを参照してください。
重要
Denodo 組み込み MPP を使用するには、 エンタープライズプラス サブスクリプションバンドルと更新プログラム 8.0u20230301 が必要です。
Denodo 組み込み MPP を使用するには、Denodo に登録する必要があります。 登録プロセスは、以下のタイミングで実行できます。
デプロイプロセス中に
--register
オプションを使用cluster.sh deploy --register
デプロイプロセス後に
register
コマンドを使用cluster.sh register --register-user --register-password [--presto-password]
登録プロセスの詳細を以下に示します。
新しいデータベース
admin_denodo_mpp
、新しいユーザーdenodo_mpp_user
、および特殊なデータソースとして Denodo 組み込み MPP データソース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 互換ルートのサポート 」のセクションを参照してください)。その後で、そのオブジェクトストレージから参照するパスを追加できます。必要な資格情報とパスを保存済みであれば、[
Create Base View
] をクリックし、それらのパスを参照してインポート対象を選択できます。Denodo では、Parquet 形式のテーブル (Hive スタイルのパーティション分割を使用するテーブルなど) に対応するフォルダが自動的に検出されます。インポートするテーブルを選択し、[
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 ストアドプロシージャを実行します。
この Denodo 組み込み MPP でクエリの高速化を考慮するように Denodo クエリオプティマイザーを構成します。
これは、クエリで 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 を使用して追加する必要があります。
注釈
Denodo サーバーのクラスタを使用している場合、組み込み MPP の高速化 の手法を利用するために、 そのクラスタのメタデータが外部データベースに保存される ようにクラスタを構成する必要があります。Virtual DataPort サーバーが 1 台のみの環境では、次を実行することでこの制限を回避できます。
SET 'queryOptimization.parallelProcessing.denodoConnector.enableUsingSharedMetadataOnly'='false';