USER MANUALS

テーブル作成テンプレートの管理

特定のビューにキャッシュを構成すると、Denodo ではキャッシュデータソースにテーブルを作成し、そのビューのデータを使用してテーブルを読み込みます。このテーブルを作成するには、ほとんどのシナリオで組み込みの SQL ステートメント CREATE TABLE を使用します。ただし、このデフォルトのステートメントでは対応できない特殊なケース、たとえば該当のデータベースに固有のオプションのヒントが必要な場合などがあります。このような一般的ではない状況の場合、キャッシュテーブルの作成に使用するコマンドをカスタマイズできます。これを行うには 2 つの異なる方法があります。

  • キャッシュデータソースの場合: カスタムテーブル作成コマンドを使用して、すべてのキャッシュテーブルを作成します。

  • ビューの場合: 該当のビューのキャッシュテーブルの作成目的のみでカスタムテーブル作成コマンドを使用します。

Denodo では、キャッシュ、データ移動、リモートテーブル、サマリテーブルで使用するテーブル作成コマンドをカスタマイズする SQL コマンドテンプレートをサポートしています。テンプレートは、複数のパラメータを指定する SQL ステートメント CREATE TABLE で、文を実行する前にそのパラメータの値に置き換えられます。

データソースでのテーブル作成テンプレートの作成または編集

このセクションでは、テーブル作成テンプレートの管理方法について説明します。前のセクションで述べたように、Denodo では、キャッシュ、データ移動、リモートテーブル、サマリテーブルで使用するテーブル作成コマンドをカスタマイズする SQL コマンドテンプレートをサポートしています。わかりやすいようにリモートテーブルのシナリオに焦点を当てていますが、他のユースケースでもプロセスは同じです。

テーブル作成テンプレートをカスタマイズするには、ターゲットのデータソースを編集する必要があります。まず、データソースを開き、[Read & Write] タブをクリックします。データソースが組み込みのテーブル作成テンプレートを使用するように構成されている場合、[+ Manage CREATE TABLE templates] ボタンが表示されます。このボタンは、データソースがキャッシュとしてサポートされている場合のみ表示されます。

Manage CREATE TABLE templates button

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

Manage CREATE TABLE templates form

このフォームには、デフォルトで組み込みのテーブル作成テンプレート (Default) のみがあり、5 つの異なるテーブル作成タイプがすべて組み込みテンプレートを使用するように構成されています。

カスタムテーブル作成テンプレートを作成するには、[New] ボタンをクリックします。以下のウィンドウが開きます。

Create new remote table template dialog

ウィンドウには組み込みのテーブル作成テンプレートがあり、参照に使用することができます。テンプレートは自由に編集できます。テンプレートには、特定のユーザーに権限を付与するなど、CREATE とは別に追加のステートメントを含めることができます。ただし、名前が @{internal_parameter_...} で始まるパラメータは削除できません。パラメータには 3 つのタイプがあり、すべて @{parameter_name} の構文に従います。詳細については、「 テンプレートのパラメータ 」のセクションを参照してください。

カスタムテーブル作成テンプレートを保存する前に、[Test] ボタンをクリックして、そのテンプレートが有効かどうかをチェックする必要があります。詳細については、「 テーブル作成テンプレートのテスト 」のセクションを参照してください。その後、[OK] をクリックすると、データソースで利用可能なテーブル作成テンプレートのリストにそのテンプレートが追加されます。

Manage CREATE TABLE templates form with custom remote table template

次に、ドロップダウンを使用して、各タイプのテーブル作成に必要なテンプレートを選択します。[Save] ボタンをクリックして、テーブル作成テンプレートの構成を終了します。

必要な権限

データソースのテーブル作成テンプレートを構成するには、以下の権限が必要です。

  • JDBC キャッシュデータソースのデータベースに対する Connect 権限。

  • JDBC キャッシュデータソースに対する Execute 権限と Write 権限。

新しいデータソースでのテーブル作成テンプレートの構成

データソースの作成時にテーブル作成テンプレートを構成することはできません。構成するには、まずデータソースを作成する必要があります。[Save] ボタンをクリックすると、[+ Manage CREATE TABLE templates] ボタンが有効になります。

Manage table creation button disabled

警告

データソースを編集して データベースアダプター を変更すると、以前に構成したテーブル作成テンプレートはすべて削除され、データソースは組み込みのテンプレートを使用します。

キャッシュテーブル作成テンプレートの構成

Denodo では、キャッシュでのテーブル作成に使用する SQL コマンドのカスタマイズに対応しています。カスタムテンプレートは、デフォルトで提供されている構文とは異なる構文を使用してテーブルを作成できるようにします。これにより、データベースに固有のオプションのヒントを入れることができます。カスタムテーブル作成テンプレートは、サーバーキャッシュ全体用に構成することも、特定の Denodo データベース用のみに構成することもできます。

注釈

Denodo では、新しいキャッシュテーブルを作成する場合のみ、新しいキャッシュテーブル作成コマンドを使用します。既存のキャッシュテーブルは再作成されません。既存のキャッシュテーブルを再作成する方法については、「 キャッシュテーブルの再作成 」のセクションを参照してください。

注釈

構文で特定の列を参照する場合、ビューレベルでテンプレートを使用する必要があります。

サーバーキャッシュでのキャッシュテーブル作成テンプレートの構成

サーバーキャッシュで使用されるテーブル作成コマンドをカスタマイズするには、Design Studio または Admin Tool を開き、[Administration] > [Server Configuration] > [Cache] をクリックする必要があります。キャッシュが無効になっている場合は、まず有効にしてください。

既存のデータソースをキャッシュに設定した場合、サーバーキャッシュテンプレートを構成するには、このデータソースを開き、「 データソースでのテーブル作成テンプレートの作成または編集 」のセクションで説明する手順に従います。

注釈

初めてサーバーキャッシュを有効にした場合やキャッシュデータベースアダプター ([Connection] タブ) を変更する場合は、テーブル作成コマンドを編集する前に [OK] をクリックして新しいキャッシュデータソース構成を保存する必要があります。

Server cache manage table creation button disabled

新しいキャッシュデータソース構成を保存する前に表示される警告メッセージ

サーバーキャッシュがすでに構成されている場合、キャッシュテーブル作成テンプレートを編集するには、[Read & Write] タブ > [Manage CREATE TABLE templates] をクリックする必要があります。

Create new cache table template dialog

キャッシュテンプレートを構成するには、以下の手順に従います。

  1. [New] をクリックします。

  2. 前のセクション (「 データソースでのテーブル作成テンプレートの作成または編集 」) で説明した手順に従い、キャッシュテーブル作成テンプレートを追加します。

  3. [Cache tables] で新しいキャッシュテンプレートを選択します。

  4. [Save] をクリックします。

2 つのキャッシュ関連テーブル、キャッシュテーブルとキャッシュ管理テーブルに対して異なるテンプレートを選択できます。最初のテーブルはキャッシュされたビューのデータを保管するテーブル、2 番目のテーブルはキャッシュシステム自体のメタデータ情報が含まれるテーブルです。キャッシュ管理テーブルにカスタムテンプレートを使用することは推奨されません。カスタムテンプレートを使用する必要がある場合は、「 キャッシュ管理テーブルテンプレートのカスタマイズ 」のセクションを参照してください。

Manage CREATE TABLE templates form with custom cache template

特定の Denodo データベースに対するキャッシュテーブル作成テンプレートの構成

特定の Denodo データベースで使用されるテーブル作成コマンドをカスタマイズするには、Design Studio にログインし、[Administration] メニュー > [Database management] をクリックします。データベースを選択し、[Cache] をクリックして、[Default configuration] チェックボックスをクリアします。

既存のデータソースをキャッシュに設定した場合、データベースキャッシュテンプレートを構成するには、このデータソースを開き、「 データソースでのテーブル作成テンプレートの作成または編集 」のセクションで説明する手順に従います。

キャッシュテーブル作成テンプレートを編集するには、[Read & Write] タブ > [Manage CREATE TABLE templates] をクリックして、前のセクションで説明した手順に従います。

注釈

初めてデータベースキャッシュを有効にした場合やキャッシュデータベースアダプター ([Connection] タブ) を変更する場合は、テーブル作成コマンドを編集する前に [OK] をクリックして新しいキャッシュデータソース構成を保存する必要があります。

キャッシュ管理テーブルテンプレートのカスタマイズ

コマンドをカスタマイズして Denodo キャッシュ管理テーブルを作成することも可能ですが、推奨されません。これを行うには、キャッシュデータソースの構成を編集します。手順は、テンプレートを選択するときのドロップダウンを除き、前のセクションと同じです。この場合は、[Cache management tables] ドロップダウンを使用します。

Manage CREATE TABLE templates form with custom cache management table template

キャッシュ管理テーブルがすでに存在する場合、以下の点に注意してください。

  • キャッシュ管理用の新しいテーブル作成テンプレートを構成しても、現在のキャッシュ管理テーブルは置き換えられません。

  • 新しいテンプレートを有効にするには、これまでに Denodo キャッシュとして使用したことのない別のカタログやスキーマに新しいキャッシュ管理テーブルを作成します。そのため、現在キャッシュされているデータはすべて失われます。

  • キャッシュ管理テーブルの手動による削除は推奨されません。

ビューでのテーブル作成テンプレートの作成または編集

特定のビューのみにカスタムキャッシュテーブル作成テンプレートを設定できます。

テーブル作成テンプレートをカスタマイズするには、ターゲットのビューを編集する必要があります。まず、ビューを開き、[Options] タブをクリックします。ビューがユーザーのフルキャッシュに構成されている場合、このタブには [Manage custom DDL templates] オプションがあります。ビューにカスタムテンプレートが構成されていない場合は、デフォルトで折りたたまれた状態です。別のビューを構成するには、[+] ボタンをクリックします。

デフォルトでは、フォームにデフォルトのデータソーステーブル作成テンプレート (Default) があります。ビューにカスタムテンプレートが設定されている場合、フォームにこのテンプレートが表示されます。

Manage DDL custom templates form

注釈

このデフォルトテンプレートは、ユーザーにデータソースに対するメタデータ権限がある場合のみ表示されます。

カスタムテーブル作成テンプレートを編集するか、新しいテンプレートを追加するには、[Custom template] オプションをチェックすると、[Edit template] ボタンが有効になります。

このボタンをクリックすると、編集ダイアログが開きます。

このダイアログには、新しいテンプレートの基準となるデータソースのデフォルトテンプレートが表示されます。テンプレートは自由に編集できます。ただし、名前が @{internal_parameter_...} で始まるパラメータは削除できません。つまり、カスタムテンプレートを使用してキャッシュデータベースのテーブル名を変更することはできません。パラメータには 3 つのタイプがあり、すべて @{parameter_name} の構文に従います。詳細については、「 テンプレートのパラメータ 」のセクションを参照してください。

以下の画像のように、ビューの既存の列を参照してテンプレートを編集できます。

Edit DDL custom template partition by

注釈

カスタムテンプレートを使用してパーティション分割を指定する場合、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}: テーブルのプライマリインデックスとして使用される列。

Add feedback