Denodo 組み込み MPP¶
Denodo は、クエリを高速化するための Denodo Platform の組み込み超並列処理 (MPP) として動作するように、Presto をカスタマイズしました。
重要
Denodo 組み込み MPP を使用するには、 エンタープライズプラス サブスクリプションバンドルが必要です。

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
を構成します。embedded_mpp データソース¶
Denodo 組み込み MPP データソースを使用して、Amazon S3、Azure Data Lake Storage、HDFS などのオブジェクトストレージをグラフィカルに確認し、Parquet ファイルまたは Delta Lake テーブル形式で保存されるデータから基本ビューを作成できます (「 Parquet、Delta、Iceberg 形式のオブジェクトストレージデータ 」を参照)。
embedded_mpp
データソースをオブジェクトストレージに接続するには、[Read Write] タブで手動で [Object storage configuration] を構成する必要があります。アクセスするファイルシステムを選択し、資格情報を入力する必要があります。GUI で使用できるファイルシステムは、S3、ADLS、および HDFS です。Google Cloud Storage など、Hadoop API と互換性のある他のシステムを使用できます。これを行うには、[HDFS] を選択し、[Hadoop properties] で必要な値を指定します (「 Hadoop 互換ルートのサポート 」のセクションを参照してください)。embedded_mpp オブジェクトストレージ構成¶
その後で、そのオブジェクトストレージから参照するルートを追加できます。必要な資格情報とルートを保存した後に、[
Create Base View
] をクリックして、それらのルートを参照し、インポート対象を選択します。Denodo は、Parquet 形式のテーブル (Hive スタイルのパーティション分割を使用するテーブルを含む) や Delta Lake 形式のテーブルに対応するフォルダを自動的に検出します。各テーブル形式は、対応するテクノロジーのロゴで識別されます。Parquet 形式の場合の embedded_mpp 基本ビューの作成¶
Delta Lake 形式の場合の embedded_mpp 基本ビューの作成¶
インポートするテーブルを選択して [Create selected] をクリックし、基本ビューを作成します。Denodo は、基本ビューを作成し、そのデータにアクセスするためのテーブルを embedded_mpp データソースに作成します。Denodo は、組み込み MPP および任意のスキーマの Hive カタログまたは Delta カタログにテーブルを作成します。スキーマは、[Create Base View] ダイアログの下部にある [Target schema] ドロップダウンから選択できます。
Denodo は、テーブルごとにストアドプロシージャ COMPUTE_SOURCE_TABLE_STATS を呼び出して、その統計を自動的に計算します。このストアドプロシージャは、Denodo 組み込み MPP オプティマイザーがコスト戦略に基づいてクエリプランを生成するために使用するデータに関する統計情報を収集します。
多くのシナリオでは、Hive テーブル/Denodo 基本ビューを作成した後に新しいパーティションが追加されます。それらの新しいパーティションは、組み込み MPP のメタストアが更新されて、Hive テーブルが作成された後またはそれが最後に同期した後に追加されたすべての新しいパーティションが取得されるまで、クエリ結果に反映されません。したがって、オブジェクトストレージのパーティションを組み込み MPP のメタストアのパーティションと同期する必要がある場合、 REFRESH_SOURCE_TABLE_METADATA ストアドプロシージャを実行します。
この Denodo 組み込み MPP でクエリの高速化を考慮するように Denodo クエリオプティマイザーを構成します。
Denodo 組み込み MPP の高速化¶
これは、クエリで S3、Azure Data Lake、HDFS などのオブジェクトストレージに保存されている大量の Parquet データと、別のデータソースにあるデータを結合するシナリオで役に立ちます。このような場合、Denodo クエリオプティマイザーは、クエリを Denodo 組み込み MPP に送信することを決定する可能性があります。Denodo 組み込み MPP は、独自のエンジンを使用してオブジェクトストレージのデータにアクセスできます。また、一時テーブルやファイルを作成せずに、Denodo からストリーミングでオブジェクトストレージ外のデータにアクセスできます。
このようにして、Denodo のクエリエンジンは、その強力な最適化技術、フェデレーション、セキュリティ機能と、ビッグデータの並列処理を組み合わせることができます。
Denodo で Denodo 組み込み MPP を登録した後、[Validate MPP License
] ボタンをクリックし、登録が正常完了していることを検証することをお勧めします。

[Validate MPP License] ボタン¶
重要
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 サービスのステータス¶

外部 IP に対する ping の実行¶

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