Dremio でAzure Data Lake Storage のデータに外部ソースとして接続
CData JDBC Driver for Azure Data Lake Storage はJDBC 標準を実装しており、Dremio を含むさまざまなアプリケーションでリアルタイムのAzure Data Lake Storage のデータを扱えるようにします。Dremio は、データレイク上でのセルフサービス型インタラクティブ分析を実現するために設計されたデータレイクハウスプラットフォームです。CData JDBC ドライバーを使用することで、エンタープライズデータレイクの一部としてリアルタイムAzure Data Lake Storage のデータを活用できます。この記事では、Dremio でAzure Data Lake Storage のデータに外部ソースとして接続する方法について説明します。
CData JDBC Driver を使用すると、Dremio でリアルタイムAzure Data Lake Storage のデータへの高速アクセスが可能になります。ドライバーをインストールしてAzure Data Lake Storage で認証すれば、データレイク内でAzure Data Lake Storage のデータにすぐにアクセスできます。ネイティブのデータ型を使用してAzure Data Lake Storage のデータを表示し、複雑なフィルタ、集計、その他の操作を自動的に処理することで、CData JDBC Driver はAzure Data Lake Storage のデータへのシームレスなアクセスを提供します。
前提条件
この記事では、Docker を使用して Dremio を実行することを想定しています。以下のようなコマンドで Dremio サービスを含む Docker コンテナを作成できます。
docker run -d --name dremio -p 9047:9047 -p 31010:31010 dremio/dremio-oss
ここで、dremio はコンテナの名前、9047 は Dremio Web インターフェース用のコンテナポート、31010 は Dremio クエリサービスにマッピングされるポートです。dremio/dremio-oss は使用するイメージを指定します。
ARP コネクタのビルド
CData JDBC Driver を Dremio で使用するには、Advanced Relation Pushdown(ARP)コネクタをビルドする必要があります。GitHub でソースコードを確認するか、ZIP ファイル(GitHub.com)を直接ダウンロードできます。ファイルをコピーまたは展開したら、コネクタのルートディレクトリ(pom.xml ファイルがあるディレクトリ)から以下のコマンドを実行してコネクタをビルドします。
mvn clean install
NOTE:CData ARP コネクタは Java 11 でコンパイルするようにビルドされています。Java 11 をインストールし、正しいバージョンを使用していることを確認してください。以下のようなコマンドで Java バージョンを更新できます。
sudo update-alternatives --config java
コネクタ用の JAR ファイルが(target ディレクトリに)ビルドされたら、ARP コネクタと JDBC Driver を Dremio インスタンスにコピーする準備が整いました。
コネクタと JDBC Driver のインストール
ARP コネクタを %DREMIO_HOME%/jars/ に、Azure Data Lake Storage 用の JDBC Driver を %DREMIO_HOME%/jars/3rdparty にインストールします。以下のようなコマンドを使用できます。
ARP コネクタ
docker cp PATH\TO\dremio-adls-plugin-{DREMIO_VERSION}.jar dremio_image_name:/opt/dremio/jars/
Azure Data Lake Storage 用 JDBC Driver
docker cp PATH\TO\cdata.jdbc.adls.jar dremio_image_name:/opt/dremio/jars/3rdparty/
Azure Data Lake Storage への接続
これで、Dremio の外部ソースオプションに Azure Data Lake Storage が表示されるようになりました。ビルドした ARP コネクタは、JDBC URL を使用してAzure Data Lake Storage のデータに接続します。JDBC Driver には、接続文字列を作成できるビルトインの接続文字列デザイナーがあります(以下を参照)。
ビルトイン接続文字列デザイナー
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への認証」セクションをご確認ください。
NOTE:Dremio で JDBC Driver を使用するには、ライセンス(正式版または評価版)とランタイムキー(RTK)が必要です。このライセンス(または評価版)の取得については、営業チームにお問い合わせください。
ランタイムキー(RTK)を JDBC URL に追加します。最終的に、以下のような JDBC URL になります。
jdbc:adls:RTK=5246...;Schema=ADLSGen2;Account=myAccount;FileSystem=myFileSystem;AccessKey=myAccessKey;
Azure Data Lake Storage に外部ソースとしてアクセス
Azure Data Lake Storage を外部ソースとして追加するには、新しいソースを追加するためにクリックし、ADLS を選択します。JDBC URL をコピーして、New ADLS Source ウィザードに貼り付けます。
接続を保存すれば、Dremio でリアルタイムAzure Data Lake Storage のデータをクエリする準備が整い、Azure Data Lake Storage のデータをデータレイクに簡単に取り込むことができます。
詳細情報と無償トライアル
Dremio で CData JDBC Driver for Azure Data Lake Storage を使用すると、リアルタイムAzure Data Lake Storage のデータをデータレイクに取り込むことができます。Azure Data Lake Storage への接続の詳細については、CData JDBC Driver for Azure Data Lake Storage ページをご覧ください。CData JDBC Driver for Azure Data Lake Storage の30日間無償トライアルをダウンロードして、今すぐ始めましょう。