テーブル作成テンプレートの管理¶
特定のビューにキャッシュを構成すると、Denodo ではキャッシュデータソースにテーブルを作成し、そのビューのデータを使用してテーブルを読み込みます。このテーブルを作成するには、ほとんどのシナリオで組み込みの SQL ステートメント CREATE TABLE を使用します。ただし、このデフォルトのステートメントでは対応できない特殊なケース、たとえば該当のデータベースに固有のオプションのヒントが必要な場合などがあります。このような一般的ではない状況の場合、キャッシュテーブルの作成に使用するコマンドをカスタマイズできます。これを行うには 2 つの異なる方法があります。
キャッシュデータソースの場合: カスタムテーブル作成コマンドを使用して、すべてのキャッシュテーブルを作成します。
ビューの場合: 該当のビューのキャッシュテーブルの作成目的のみでカスタムテーブル作成コマンドを使用します。
Denodo では、キャッシュ、データ移動、リモートテーブル、サマリテーブルで使用するテーブル作成コマンドをカスタマイズする SQL コマンドテンプレートをサポートしています。テンプレートは、複数のパラメータを指定する SQL ステートメント CREATE TABLE
で、文を実行する前にそのパラメータの値に置き換えられます。
データソースでのテーブル作成テンプレートの作成または編集¶
このセクションでは、テーブル作成テンプレートの管理方法について説明します。前のセクションで述べたように、Denodo では、キャッシュ、データ移動、リモートテーブル、サマリテーブルで使用するテーブル作成コマンドをカスタマイズする SQL コマンドテンプレートをサポートしています。わかりやすいようにリモートテーブルのシナリオに焦点を当てていますが、他のユースケースでもプロセスは同じです。
テーブル作成テンプレートをカスタマイズするには、ターゲットのデータソースを編集する必要があります。まず、データソースを開き、[Read & Write] タブをクリックします。データソースが組み込みのテーブル作成テンプレートを使用するように構成されている場合、[+ Manage CREATE TABLE templates
] ボタンが表示されます。このボタンは、データソースがキャッシュとしてサポートされている場合のみ表示されます。

ボタンをクリックすると、テーブル作成テンプレートを管理するフォームが開きます。

このフォームには、デフォルトで組み込みのテーブル作成テンプレート (Default
) のみがあり、5 つの異なるテーブル作成タイプがすべて組み込みテンプレートを使用するように構成されています。
カスタムテーブル作成テンプレートを作成するには、[New
] ボタンをクリックします。以下のウィンドウが開きます。

ウィンドウには組み込みのテーブル作成テンプレートがあり、参照に使用することができます。テンプレートは自由に編集できます。テンプレートには、特定のユーザーに権限を付与するなど、CREATE とは別に追加のステートメントを含めることができます。ただし、名前が @{internal_parameter_...}
で始まるパラメータは削除できません。パラメータには 3 つのタイプがあり、すべて @{parameter_name}
の構文に従います。詳細については、「 テンプレートのパラメータ 」のセクションを参照してください。
カスタムテーブル作成テンプレートを保存する前に、[Test
] ボタンをクリックして、そのテンプレートが有効かどうかをチェックする必要があります。詳細については、「 テーブル作成テンプレートのテスト 」のセクションを参照してください。その後、[OK
] をクリックすると、データソースで利用可能なテーブル作成テンプレートのリストにそのテンプレートが追加されます。

次に、ドロップダウンを使用して、各タイプのテーブル作成に必要なテンプレートを選択します。[Save
] ボタンをクリックして、テーブル作成テンプレートの構成を終了します。
必要な権限
データソースのテーブル作成テンプレートを構成するには、以下の権限が必要です。
JDBC キャッシュデータソースのデータベースに対する
Connect
権限。JDBC キャッシュデータソースに対する
Execute
権限とWrite
権限。
新しいデータソースでのテーブル作成テンプレートの構成
データソースの作成時にテーブル作成テンプレートを構成することはできません。構成するには、まずデータソースを作成する必要があります。[Save
] ボタンをクリックすると、[+ Manage CREATE TABLE templates
] ボタンが有効になります。

警告
データソースを編集して データベースアダプター
を変更すると、以前に構成したテーブル作成テンプレートはすべて削除され、データソースは組み込みのテンプレートを使用します。
キャッシュテーブル作成テンプレートの構成¶
Denodo では、キャッシュでのテーブル作成に使用する SQL コマンドのカスタマイズに対応しています。カスタムテンプレートは、デフォルトで提供されている構文とは異なる構文を使用してテーブルを作成できるようにします。これにより、データベースに固有のオプションのヒントを入れることができます。カスタムテーブル作成テンプレートは、サーバーキャッシュ全体用に構成することも、特定の Denodo データベース用のみに構成することもできます。
注釈
Denodo では、新しいキャッシュテーブルを作成する場合のみ、新しいキャッシュテーブル作成コマンドを使用します。既存のキャッシュテーブルは再作成されません。既存のキャッシュテーブルを再作成する方法については、「 キャッシュテーブルの再作成 」のセクションを参照してください。
注釈
構文で特定の列を参照する場合、ビューレベルでテンプレートを使用する必要があります。
サーバーキャッシュでのキャッシュテーブル作成テンプレートの構成
サーバーキャッシュで使用されるテーブル作成コマンドをカスタマイズするには、Design Studio または Admin Tool を開き、[Administration] > [Server Configuration] > [Cache] をクリックする必要があります。キャッシュが無効になっている場合は、まず有効にしてください。
既存のデータソースをキャッシュに設定した場合、サーバーキャッシュテンプレートを構成するには、このデータソースを開き、「 データソースでのテーブル作成テンプレートの作成または編集 」のセクションで説明する手順に従います。
注釈
初めてサーバーキャッシュを有効にした場合やキャッシュデータベースアダプター ([Connection] タブ) を変更する場合は、テーブル作成コマンドを編集する前に [OK
] をクリックして新しいキャッシュデータソース構成を保存する必要があります。

新しいキャッシュデータソース構成を保存する前に表示される警告メッセージ¶
サーバーキャッシュがすでに構成されている場合、キャッシュテーブル作成テンプレートを編集するには、[Read & Write] タブ > [Manage CREATE TABLE templates] をクリックする必要があります。

キャッシュテンプレートを構成するには、以下の手順に従います。
[New] をクリックします。
前のセクション (「 データソースでのテーブル作成テンプレートの作成または編集 」) で説明した手順に従い、キャッシュテーブル作成テンプレートを追加します。
[Cache tables] で新しいキャッシュテンプレートを選択します。
[Save] をクリックします。
2 つのキャッシュ関連テーブル、キャッシュテーブルとキャッシュ管理テーブルに対して異なるテンプレートを選択できます。最初のテーブルはキャッシュされたビューのデータを保管するテーブル、2 番目のテーブルはキャッシュシステム自体のメタデータ情報が含まれるテーブルです。キャッシュ管理テーブルにカスタムテンプレートを使用することは推奨されません。カスタムテンプレートを使用する必要がある場合は、「 キャッシュ管理テーブルテンプレートのカスタマイズ 」のセクションを参照してください。

特定の Denodo データベースに対するキャッシュテーブル作成テンプレートの構成
特定の Denodo データベースで使用されるテーブル作成コマンドをカスタマイズするには、Design Studio にログインし、[Administration] メニュー > [Database management] をクリックします。データベースを選択し、[Cache] をクリックして、[Default configuration] チェックボックスをクリアします。
既存のデータソースをキャッシュに設定した場合、データベースキャッシュテンプレートを構成するには、このデータソースを開き、「 データソースでのテーブル作成テンプレートの作成または編集 」のセクションで説明する手順に従います。
キャッシュテーブル作成テンプレートを編集するには、[Read & Write] タブ > [Manage CREATE TABLE templates] をクリックして、前のセクションで説明した手順に従います。
注釈
初めてデータベースキャッシュを有効にした場合やキャッシュデータベースアダプター ([Connection] タブ) を変更する場合は、テーブル作成コマンドを編集する前に [OK
] をクリックして新しいキャッシュデータソース構成を保存する必要があります。
キャッシュ管理テーブルテンプレートのカスタマイズ¶
コマンドをカスタマイズして Denodo キャッシュ管理テーブルを作成することも可能ですが、推奨されません。これを行うには、キャッシュデータソースの構成を編集します。手順は、テンプレートを選択するときのドロップダウンを除き、前のセクションと同じです。この場合は、[Cache management tables] ドロップダウンを使用します。

キャッシュ管理テーブルがすでに存在する場合、以下の点に注意してください。
キャッシュ管理用の新しいテーブル作成テンプレートを構成しても、現在のキャッシュ管理テーブルは置き換えられません。
新しいテンプレートを有効にするには、これまでに Denodo キャッシュとして使用したことのない別のカタログやスキーマに新しいキャッシュ管理テーブルを作成します。そのため、現在キャッシュされているデータはすべて失われます。
キャッシュ管理テーブルの手動による削除は推奨されません。
ビューでのテーブル作成テンプレートの作成または編集¶
特定のビューのみにカスタムキャッシュテーブル作成テンプレートを設定できます。
テーブル作成テンプレートをカスタマイズするには、ターゲットのビューを編集する必要があります。まず、ビューを開き、[Options
] タブをクリックします。ビューがユーザーのフルキャッシュに構成されている場合、このタブには [Manage custom DDL templates
] オプションがあります。ビューにカスタムテンプレートが構成されていない場合は、デフォルトで折りたたまれた状態です。別のビューを構成するには、[+
] ボタンをクリックします。
デフォルトでは、フォームにデフォルトのデータソーステーブル作成テンプレート (Default) があります。ビューにカスタムテンプレートが設定されている場合、フォームにこのテンプレートが表示されます。

注釈
このデフォルトテンプレートは、ユーザーにデータソースに対するメタデータ権限がある場合のみ表示されます。
カスタムテーブル作成テンプレートを編集するか、新しいテンプレートを追加するには、[Custom template
] オプションをチェックすると、[Edit template
] ボタンが有効になります。
このボタンをクリックすると、編集ダイアログが開きます。
このダイアログには、新しいテンプレートの基準となるデータソースのデフォルトテンプレートが表示されます。テンプレートは自由に編集できます。ただし、名前が @{internal_parameter_...}
で始まるパラメータは削除できません。つまり、カスタムテンプレートを使用してキャッシュデータベースのテーブル名を変更することはできません。パラメータには 3 つのタイプがあり、すべて @{parameter_name}
の構文に従います。詳細については、「 テンプレートのパラメータ 」のセクションを参照してください。
以下の画像のように、ビューの既存の列を参照してテンプレートを編集できます。

注釈
カスタムテンプレートを使用してパーティション分割を指定する場合、Hive スタイルのパーティション分割が必要なデータベースでは機能しないことに注意してください。句を含めるだけでなく、各種パーティションを作成するために Parquet のアップロードプロセスを変更する必要があるためです。
カスタムテーブル作成テンプレートを保存する前に、[Test
] ボタンをクリックして、そのテンプレートが有効かどうかをチェックする必要があります。詳細については、「 テーブル作成テンプレートのテスト 」のセクションを参照してください。その後、[OK
] をクリックすると、選択したテンプレートにそのテンプレートがコピーされます。
[Save] ボタンをクリックして、テーブル作成テンプレートの構成を終了します。
必要な権限
ビューのテーブル作成テンプレートを構成するには、以下の権限が必要です。
JDBC キャッシュデータソースのデータベースに対する
Connect
権限。JDBC キャッシュデータソースに対する
Execute
権限とWrite
権限。ビューに対する
Write
権限。
詳細については、「 ビューのキャッシュテンプレートのカスタマイズ 」のセクションを参照してください。
テンプレートのパラメータ¶
テーブル作成テンプレートは、SQL の CREATE TABLE
コマンドをパラメータ化したものです。Denodo では、テーブルを作成する際に、これらのパラメータを対応する値に置き換えます。テーブル作成テンプレートでは、3 つのタイプのパラメータを使用できます。
内部パラメータ: テーブル作成コマンドで、テーブル名、列、制限、データ形式、データの場所などを設定するパラメータ。これらのパラメータの値は自動的に設定されます。組み込みのテーブル作成テンプレートに名前が
@{internal_parameter_...}
で始まるパラメータがある場合、カスタムテンプレートでもそのパラメータを使用する必要があります。内部パラメータについては、「 内部パラメータのリスト 」を参照してください。列パラメータ: ビューの列を参照するパラメータ。リモートテーブルとサマリテンプレートでは、これらのパラメータは <select query> の結果 (データ読み込みクエリとも呼ばれる) の列を参照します。
PRIMARY KEY(@{<column_name>})
などの列パラメータを使用して、列の制限を設定できます。列パラメータは、ビュー、リモートテーブル、サマリでのみ使用できます。そのため、データソースで定義されている列パラメータをテンプレートで使用することはできません。環境プロパティ: 環境ごとに異なるプロパティ値を使用するユーザー定義のパラメータ。これらのプロパティは、エクスポートや昇格に関する環境に固有のプロパティです。オプション
export with properties
を使用してデータソースやビューをエクスポートした場合、これらのプロパティの値は環境プロパティファイルにエクスポートされます。詳細については、「 Virtual DataPort のプロパティの構成 」と「 プロパティファイルへのエクスポート 」のセクションを参照してください。
注釈
テンプレートでは、ビュー、リモートテーブル、サマリで定義される列パラメータのみ使用できます。そのため、データソースで定義されている列パラメータをテンプレートで使用することはできません。詳細については、「 ビューのキャッシュテンプレートのカスタマイズ 」、「 CREATE_REMOTE_TABLE ストアドプロシージャ 」、「 CREATE REMOTE TABLE コマンド 」のセクションを参照してください。
内部パラメータのリスト¶
以下のリストは、Denodo がテーブル作成テンプレートで使用する内部パラメータです。すべてのデータベースに共通のパラメータ (@{internal_parameter_columns} など) と、データベースに固有のパラメータがあります。
@{internal_parameter_catalog}
: テーブルが作成されるカタログ。@{internal_parameter_schema}
: テーブルが作成されるスキーマ。@{internal_parameter_table}
: テーブルの作成に使用される名前。@{internal_parameter_table_name}
:<catalog>.<schema>.<table>
の結合。@{internal_parameter_columns}
: 列名とそのデータ型のリスト。@{internal_parameter_restrictions}
: テーブルの制限。プライマリキー、固有の制約など。@{internal_parameter_table_format}
: テーブルのデータの保存に使用される形式。PARQUET ファイル、DELTA ファイル、区切り形式のファイル。このパラメータは、一括読み込みを使用するデータベースに適用されます。@{internal_parameter_data_location}
: テーブルデータの保存に使用される HDFS または DBFS 内の場所。@{internal_parameter_s3_location}
: テーブルデータの保存に使用される AWS S3 内の場所。@{internal_parameter_distribution_method}
: 行を格納する際の分散方式: HASH または ROUND_ROBIN。@{internal_parameter_distribution_columns}
: 利用可能なデータスライスにデータを均等に分散する場合に使用される分散列。@{internal_parameter_utf_charset}
: データの保存に使用される文字セット。@{internal_parameter_utf8_collate_table}
: 文字列の比較と並べ替えを定義する照合ルール。@{internal_parameter_primary_index}
: テーブルのプライマリインデックスとして使用される列。