Denodo Platform で Azure Data Lake Storage のデータ に接続
Denodo Platform は、エンタープライズデータベースのデータを統合的に扱うことができるデータ仮想化製品です。CData JDBC Driver for Azure Data Lake Storage と組み合わせることで、Denodo ユーザーは他のエンタープライズデータソースと並んでライブ Azure Data Lake Storage のデータ を扱うことができます。本記事では、Denodo Virtual DataPort Administrator で Azure Data Lake Storage 用の仮想データソースを作成する方法を解説します。
CData JDBC Driver は、最適化されたデータ処理機能を内蔵しており、ライブ Azure Data Lake Storage のデータ とのやり取りにおいて比類のないパフォーマンスを提供します。Azure Data Lake Storage に対して複雑な SQL クエリを発行すると、ドライバーはフィルターや集計などのサポートされている SQL 操作を直接 Azure Data Lake Storage にプッシュし、内蔵の SQL エンジンを使用してサポートされていない操作(主に SQL 関数や JOIN 操作)をクライアントサイドで処理します。また、動的メタデータクエリ機能を内蔵しているため、ネイティブデータ型を使用して Azure Data Lake Storage のデータ を操作・分析できます。
Azure Data Lake Storage 仮想ポートの作成
Denodo からライブ Azure Data Lake Storage のデータ に接続するには、JDBC Driver の JAR ファイルを Denodo の外部ライブラリディレクトリにコピーし、Virtual DataPort Administrator ツールで新しい JDBC データソースを作成します。
- CData JDBC Driver for Azure Data Lake Storage インストーラーをダウンロードし、パッケージを解凍して JAR ファイルを実行してドライバーをインストールします。
- インストール先(通常は C:\Program Files\CData\CData JDBC Driver for Azure Data Lake Storage\lib\)から JAR ファイル(およびライセンスファイルが存在する場合はそれも)を Denodo 外部ライブラリディレクトリ(C:\Denodo\Denodo Platform\lib-external\jdbc-drivers\cdata-adls-19)にコピーします。
- Denodo Virtual DataPort Administrator ツールを開き、Server Explorer タブに移動します。
- "admin" を右クリックし、New -> Data source -> JDBC を選択します。
- JDBC 接続を設定します:
- Name: 任意の名前(例: adls)
- Database adapter: Generic
- Driver class path: C:\Denodo\Denodo Platform\lib-external\jdbc-drivers\cdata-adls-19
- Driver class: cdata.jdbc.adls.ADLSDriver
Database URI: 必要な接続プロパティを使用して JDBC URL を設定します。例:
jdbc:adls:Schema=ADLSGen2;Account=myAccount;FileSystem=myFileSystem;AccessKey=myAccessKey;
Database URI の作成方法は以下のとおりです:
ビルトイン接続文字列デザイナー
JDBC URL の構築には、Azure Data Lake Storage JDBC Driver に組み込まれた接続文字列デザイナーを使用できます。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行してください。
java -jar cdata.jdbc.adls.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
Azure Data Lake Storage 接続プロパティの取得・設定方法
Azure Data Lake Storage Gen2 への接続
それでは、Gen2 Data Lake Storage アカウントに接続していきましょう。接続するには、以下のプロパティを設定します。
- Account:ストレージアカウントの名前
- FileSystem:このアカウントに使用されるファイルシステム名。例えば、Azure Blob コンテナの名前
- Directory(オプション):レプリケートされたファイルが保存される場所へのパス。パスが指定されない場合、ファイルはルートディレクトリに保存されます
Azure Data Lake Storage Gen2への認証
続いて、認証方法を設定しましょう。CData 製品では、5つの認証方法をサポートしています:アクセスキー(AccessKey)の使用、共有アクセス署名(SAS)の使用、Azure Active Directory OAuth(AzureAD)経由、Azure サービスプリンシパル(AzureServicePrincipal またはAzureServicePrincipalCert)経由、およびManaged Service Identity(AzureMSI)経由です。
アクセスキー
アクセスキーを使用して接続するには、まずADLS Gen2ストレージアカウントで利用可能なアクセスキーを取得する必要があります。
Azure ポータルでの手順は以下のとおりです:
- ADLS Gen2ストレージアカウントにアクセスします
- 設定でアクセスキーを選択します
- 利用可能なアクセスキーの1つの値をAccessKey 接続プロパティにコピーします
接続の準備ができたら、以下のプロパティを設定してください。
- AuthScheme:AccessKey
- AccessKey:先ほどAzure ポータルで取得したアクセスキーの値
共有アクセス署名(SAS)
共有アクセス署名を使用して接続するには、まずAzure Storage Explorer ツールを使用して署名を生成する必要があります。
接続の準備ができたら、以下のプロパティを設定してください。
- AuthScheme:SAS
- SharedAccessSignature:先ほど生成した共有アクセス署名の値
その他の認証方法については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「Azure Data Lake Storage Gen2への認証」セクションをご確認ください。
- "Test connection" ボタンをクリックして設定を確認し、Save をクリックします。
VirtualPort Administrator ツールで Azure Data Lake Storage のデータ を表示
データソースを作成したら、Denodo Platform で使用する Azure Data Lake Storage のデータ のベースビューを作成できます。
- 新しく作成した VirtualPort (admin.ADLS) で "Create base view" ボタンをクリックします。
- オブジェクトツリーを展開し、インポートするオブジェクト(テーブル)を選択します。
- "Create selected" ボタンをクリックして、Azure Data Lake Storage のデータ のビューを作成します。
オプション: "Create associations from foreign keys" をクリックして、オブジェクト間のリレーションシップを定義できます。 - ビューが作成されたら、Server Explorer で対象テーブル(cdata_adls_resources)に移動し、選択したテーブルをダブルクリックします。
- 新しいタブで "Execution panel" をクリックしてクエリパネルを開きます。
- "Execute" タブでクエリをカスタマイズするか、デフォルトのクエリを使用します:
SELECT * FROM cdata_adls_resources CONTEXT ('i18n'='us_est', 'cache_wait_for_load'='true')
- Execute をクリックしてデータを表示します。
ベースビューの作成後は、Denodo Platform の他のデータソースと同様にライブ Azure Data Lake Storage のデータ を扱うことができます。たとえば、Denodo Data Catalog で Azure Data Lake Storage をクエリできます。
CData JDBC Driver for Azure Data Lake Storage の 30日間無料トライアルをダウンロードして、Denodo Platform でライブ Azure Data Lake Storage のデータ の活用を始めましょう。ご不明な点がございましたら、サポートチーム までお問い合わせください。