Kudu¶
Virtual DataPort では、 Kudu ドキュメント で推奨されているように、 Impala 3.x Kudu
データベースアダプターを使用して Kudu へのデータ一括読み込みを行います。データ一括読み込みを実行するように Kudu データソースを構成するには、「 Impala 」で説明されているのと同じプロセスを実行します。
Virtual DataPort で Kudu へのデータ一括読み込みを実行する手順¶
このセクションでは、Virtual DataPort が Impala 3.x Kudu
データベースアダプターを使用して Kudu データソースにデータを一括で読み込む方法について説明します。
クエリに Kudu への一括読み込みが含まれる場合、Virtual DataPort では以下の手順を実行します。
impala_table
などの補助テーブルを Impala に作成します。前の手順で作成したテーブルにデータを一括で読み込みます。Virtual DataPort では Parquet ファイルを使用して、Impala へのデータ一括読み込みを実行します。
以下のコマンドを使用して、Kudu テーブルにデータを挿入またはマージします。
[INSERT | UPSERT] INTO TABLE <kudu_table> SELECT * FROM <impala_table>
以下のコマンドを実行して、Kudu テーブルの統計を計算します。
COMPUTE STATS <kudu_table>
Impala で作成された補助テーブルと、一括データ読み込みに使用された Parquet ファイルを削除します。
Denodo では、Kudu でのリモートテーブルの作成、サマリの作成、ビューの更新 (「 REFRESH 」を参照) の場合のみ COMPUTE STATS
コマンドを実行します。このコマンドは、ビューのキャッシュの読み込み、データ移動、 INSERT
コマンドの後は実行されません。挿入後にこのコマンドを実行するには、挿入クエリの CONTEXT
に 'compute_stats_on_target' = 'true'
プロパティを追加します。デフォルトでは、Virtual DataPort は COMPUTE STATS
コマンドを Impala 3.x Kudu
でのみ実行し、 Impala 2.x
以前のバージョンでは実行しません。デフォルトの動作を変更するには、以下のコマンドを実行します。
SET 'com.denodo.vdb.util.tablemanagement.sql.ImpalaKuduTableManager.computeStatsOnTarget' = 'true' | 'false';