リモートテーブルの管理¶
ここでは、Administration Tool を使用してリモートテーブルを作成、編集、および削除する方法について説明します。
リモートテーブルの作成¶
リモートテーブルの作成方法は 3 つあります。
Administration Tool のウィザードの使用。
CREATE_REMOTE_TABLE ストアドプロシージャの使用。
CREATE REMOTE TABLE コマンドの使用。基盤となるデータベースにテーブルを作成して、クエリの結果をこのテーブルに挿入します。ただし、関連する基本ビューを Virtual DataPort に作成することはありません。
ここでは、Administration Tool からリモートテーブルを作成する手順について説明します。以下の手順に従って実施してください。
リモートテーブルの作成先の JDBC データソースを右クリックして [Create Remote Table] をクリックします。
注釈
この機能は、JDBC データソースの場合にのみサポートされています。HDFS ベースのデータベース (Hive、Impala、PrestoDB、PrestoSQL、Spark、Databricks) でこの機能を使用するには、まず データ一括読み込み を有効にする必要があります。
以下の情報を入力します。

リモートテーブルの作成¶
Target data source: リモートテーブルの作成先のデータソース。
Insert options: データをデータベースに挿入するプロセスを構成するパラメータ。すべてオプションであり、指定されない場合は実行エンジンがデフォルト値を使用します。
使用可能なオプションは、データベースのタイプに依存します。
Batch insert size: 各バッチ挿入のタプルの数。
Location: Virtual DataPort がデータをアップロードする場所。場所はデータソースに応じて変わります。
Hadoop データソース (Hive、Impala、PrestoDB、PrestoSQL、Spark): HDFS URI。
Redshift: S3 バケット名。
Athena: S3 の場所。
Parquet row group size: 行グループのサイズ (MB 単位)。プロパティは、Virtual DataPort が Parquet ファイルを使用してデータを挿入するデータソース (Athena、Hive、Impala、PrestoDB、PrestoSQL、Spark) のみで有効です。
Remote table: 新しいリモートテーブルの名前、カタログ、およびスキーマを入力します。
Base view: 作成される基本ビューの情報を入力します。
VQL Query: 実行して、その結果を新しいリモートテーブルに挿入するクエリ。
または別の方法として、[Server Explorer] からビューを [VQL Query] にドラッグして、このビューの定義からリモートテーブルを作成することもできます。
[Create] をクリックします。
リモートテーブルを作成するために、実行エンジンは以下の処理を実行します。
JDBC データソースの基盤となるデータベースにテーブルを作成します。
VQL クエリを実行します。
このクエリの結果を、手順 1 で作成したデータベースのテーブルに挿入します。データソースで一括読み込み API の使用が有効である場合、実行エンジンは、データベースのデータの一括読み込み API を使用して結果を挿入します。
このプロシージャは、手順 1 で作成したテーブルから基本ビューを作成します。
必要な権限
これを行うには、以下の権限が必要です。
JDBC データソースのデータベースに対する「Connect」権限。
JDBC データソースに対する「Execute」権限。
基本ビューが作成される Virtual DataPort データベースに対する「Connect」権限および「Create view」権限。
基本ビューが作成されるデータベースに対する「Create folder」権限 (このプロシージャがフォルダに基本ビューを作成する必要があり、フォルダが存在しない場合)。
クエリで参照されるビューに対する「Execute」権限。
JDBC データソースに設定されるユーザーアカウントは、基盤となるデータベースにテーブルを作成できるよう設定されている必要があります。
要件
この機能を使用するには、データ移動が有効である必要があります。これを確認するには、 [Server Configuration] - [Queries Optimization] ダイアログを開きます。無効な場合、リモートテーブルの作成は失敗します。
リモートテーブルの編集¶
リモートテーブルを編集するには、リモートテーブルに関連付けられている基本ビューを開いて [Edit Remote] をクリックします。

リモートテーブルの編集¶
必要な変更を行った後、[Create] をクリックします。実行エンジンが以下の処理を実行します。
基盤となるデータベースから現在のテーブルを削除します。このテーブルのデータはすべて失われます。
JDBC データソースの基盤となるデータベースにテーブルを作成します。
Virtual DataPort でクエリを実行します。
クエリの結果を、手順 2 で作成したデータベースのテーブルに挿入します。
既存の基本ビューを、手順 2 で作成したテーブルのスキーマを使用する新しい基本ビューで置き換えます。基本ビューに依存エレメントが存在する場合、スキーマの変更は 伝達しません 。
リモートテーブルをプログラムから変更する場合、 CREATE_REMOTE_TABLE ストアドプロシージャを使用します。
データの更新¶
リモートテーブルのデータを更新するには、リモートテーブルに関連付けられている基本ビューを開いて [Refresh Data] をクリックします。

リモートテーブルのデータの更新¶
実行エンジンは、以下の処理を実行します。
基盤となるデータベースから現在のテーブルを消去します。つまり、このテーブルのデータをすべて削除します。リモートテーブルが存在しない場合、Virtual DataPort サーバーがリモートテーブルを作成します。
このリモートテーブルに関連付けられたクエリを実行します。
クエリの結果を、手順 1 で作成したデータベースのテーブルに挿入します。
コマンド REFRESH を使用して、リモートテーブルのデータをプログラムで更新します。
リモートテーブルの削除¶
Administration Tool からリモートテーブルを削除する場合、それに関連付けられている基本ビューを削除します。必要に応じて、基盤となるデータベースからテーブルも削除できます。これは、通常の基本ビューの削除とは異なります。なぜなら、通常の基本ビューの場合、基盤となるデータベースは変更されないからです。
リモートテーブルに関連付けられている基本ビューを削除すると、以下のようなダイアログが表示されます。
[Yes] をクリックすると、基本ビューに加えて、基盤となるデータベースのテーブルが削除されます。
複数のリモートテーブルを一度に削除する場合、以下のようなダイアログが表示されます。
リモートテーブルをプログラムで削除するには、 DROP_REMOTE_TABLE ストアドプロシージャを使用します。