Data Lake Storage の管理¶
Virtual DataPort では、HDFS、Amazon S3、Azure ADLS Gen2、および複数のユースケースで以前のストレージと互換性がある他のストレージへのアクセスをサポートしています。
区切りファイル、JSON、XML などの形式のファイルへのアクセス。
Parquet、Delta Lake、Iceberg 形式の分析データへのアクセス。
Hive、Impala、Presto、Spark、Databricks、 Denodo Lakehouse Accelerator (旧称: Denodo 組み込み MPP) のようなストレージを使用するデータソースへのデータの読み込み。
オブジェクトストレージへのデータ一括読み込みの構成方法については、「 HDFS、S3、または ADLS などの分散オブジェクトストレージへのデータ一括読み込み 」のセクションを参照してください。Google Cloud Storage などの互換性のある他のストレージにアクセスする方法については、「 Hadoop 互換ストレージのサポート 」のセクションを参照してください。以下のセクションでは、オブジェクトストレージに保存される各種ファイル形式やテーブル形式のサポートについて詳しく説明します。最後の「 オブジェクトストレージへのアクセスに関する問題のトラブルシューティング 」のセクションでは、オブジェクトストレージへのアクセスでエラーやタイムアウトが発生した場合のトラブルシューティングに役立つ情報が記載されています。
CSV、JSON、XML ファイル形式¶
オブジェクトストレージの CSV (またはその他の区切りファイル)、JSON、XML ファイルにアクセスするには、「 区切り形式ファイルソース 」、「 JSON ソース 」、「 XML ソース 」の各セクションの指示に従います。認証を構成するには、正しいデータルート HDFS 、 S3 、または Azure ADLS を選択する必要があります。Google Cloud Storage のような別のオブジェクトストレージにアクセスするには、「 Hadoop 互換ストレージのサポート 」のセクションを参照してください。
Apache Parquet ファイル形式¶
Apache Parquet はオープンソースの列指向データファイル形式であり、データの効率的な保存と検索を目的としています。
Virtual DataPort では、 Denodo Lakehouse Accelerator (旧称: Denodo 組み込み MPP) を使用した、 Parquet 形式のデータへのアクセス をサポートしています。
また、Hive、Impala、Presto、Spark、Databricks、または Denodo Lakehouse Accelerator などの Hadoop 互換ストレージを使用して、データベースに一括挿入するデータを Parquet 形式で生成します。このトピックの詳細については、「 HDFS、S3、または ADLS などの分散オブジェクトストレージへのデータ一括読み込み 」のセクションを参照してください。
Delta Lake テーブル形式¶
Delta Lake はオープンソースのテーブル形式であり、 Databricks のデフォルト形式です。ACID トランザクションと拡張性の高いメタデータ処理のために、ファイルベースのトランザクションログで Parquet データファイルを拡張します。Denodo では、 Denodo Lakehouse Accelerator (旧称: Denodo 組み込み MPP) を使用した、 Delta Lake 形式のデータにアクセスするための基本ビューの作成 をサポートしています。また、 Delta Lake 形式 を使用した、Databricks でのリモートテーブルの作成やデータの読み込みもサポートしています。
Iceberg テーブル形式¶
Apache Iceberg は、大規模な分析データセットの高性能テーブル形式です。Iceberg テーブルは ACID トランザクション、スキーマの完全な進化、パーティションの進化、さらに テーブルバージョンのロールバック をサポートしており、テーブルの書き換えや移行は必要ありません。
It is possible to read existing Iceberg tables and also create new tables in your data lake using Iceberg format. In both cases the data in those tables is read in parallel using the Denodo Lakehouse Accelerator (formerly known as Denodo Embedded MPP). The following table describes the features currently supported in Denodo using Iceberg tables. See section Iceberg tables for more details.
機能 |
サポート対象 |
|---|---|
選択 |
○ |
挿入 |
○ |
○ |
|
更新 |
× |
削除 |
× |
マージ |
× |
○ |
|
○ |
|
○ |
|
リモートテーブルの削除 |
○ |
サマリビューの作成 |
○ |
○ |
|
○ |
Iceberg 形式でサマリビューを作成するには、 リモートテーブルの作成 と同じ手順に従います。
不要なメタデータをクリーンアップするために、定期的に実行することが推奨されるメンテナンスタスクがいくつかあります。不要なメタデータは、特に頻繁に更新されるテーブルでは、パフォーマンスの低下につながる可能性があるためです。
ストアドプロシージャ REMOVE_ICEBERG_VIEW_ORPHAN_FILES を使用して、Iceberg ビューのメタデータファイルによって参照されていないファイルを削除します。
ストアドプロシージャ REMOVE_ICEBERG_VIEW_SNAPSHOTS を使用して、仮想ビューの基盤となる Iceberg 情報から目的のスナップショットメタデータ情報を削除します。
タイムトラベルのサポート¶
Denodo は、 ROLLBACK_ICEBERG_VIEW_TO_SNAPSHOT プロシージャを使用して、 Iceberg テーブル でのタイムトラベルをサポートしています。
以前のバージョンからデータを復元するために、特定の時点または特定のスナップショットにデータをロールバックすることが可能です。テーブルのスナップショットのリストを確認するには、 GET_ICEBERG_VIEW_SNAPSHOTS プロシージャを使用します。
現在のビューを変更せずに、特定のビューの以前のバージョンを表示するには:
view_at_timestampXXX でロールバックプロシージャを実行します。view_at_timestampXXX には、その特定のタイムスタンプに対応するデータが含まれるため、クエリを実行してデータを他のデータと比較することが可能です。
注釈
この機能には、 エンタープライズプラス サブスクリプションバンドルでのみ利用できる、 Denodo Lakehouse Accelerator (旧称: Denodo 組み込み MPP) が必要です。所有するバンドルを見つけるには、Design Studio の [About] ダイアログを開きます。この詳細については、「 Denodo Platform - サブスクリプションバンドル 」のセクションを参照してください。
オブジェクトストレージへのアクセスに関する問題のトラブルシューティング¶
Denodo から S3 や Azure などのオブジェクトストレージにアクセスする際に問題が発生した場合は、以下の手順に従って問題をトラブルシューティングしてください。
ストレージのネットワークセキュリティルールを確認して、Denodo Virtual DataPort がアクセスできることを検証します。
SSL/TLS を使用してオブジェクトストレージにアクセスし、証明書がプライベート認証機関によって署名されている場合や自己署名されている場合は、その証明書が Virtual DataPort サーバーのトラストストアに含まれていることを確認します。
Virtual DataPort ログ (<DENODO_HOME>/logs/vdp/vdp.log) を確認します。
ログに十分な情報が記録されていない場合、Design Studio の VQL シェルから以下を実行して、詳細情報をログに記録します。
CALL LOGCONTROLLER('com.denodo.vdb.util.hdfs', 'TRACE'); CALL LOGCONTROLLER('org.apache.hadoop.fs.FileSystem', 'DEBUG');
ストレージルートへのコネクションを再度テストします。
ログレベルをエラーに戻します。
ログ <DENODO_HOME>/logs/vdp/vdp.log を確認します。
最後に、これまでの手順で問題が解決しなかった場合は、SSL コネクションの問題をデバッグするため、以下を実行します。
Virtual DataPort サーバーに以下の JVM パラメータを記述します。
-Djavax.net.debug=all
コネクションをテストします。
JVM パラメータは非常に冗長になるため削除します。
ログ <DENODO_HOME>/logs/vdp/vdp.log を確認します。
