Dremio でApache Airflow のデータに外部ソースとして接続

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
CData JDBC Driver を使用して、Dremio でApache Airflow に外部ソースとして接続します。

CData API Driver for JDBC はJDBC 標準を実装しており、Dremio を含むさまざまなアプリケーションでリアルタイムのApache Airflow のデータを扱えるようにします。Dremio は、データレイク上でのセルフサービス型インタラクティブ分析を実現するために設計されたデータレイクハウスプラットフォームです。CData JDBC ドライバーを使用することで、エンタープライズデータレイクの一部としてリアルタイムApache Airflow のデータを活用できます。この記事では、Dremio でApache Airflow のデータに外部ソースとして接続する方法について説明します。

CData JDBC Driver を使用すると、Dremio でリアルタイムApache Airflow のデータへの高速アクセスが可能になります。ドライバーをインストールしてApache Airflow で認証すれば、データレイク内でApache Airflow のデータにすぐにアクセスできます。ネイティブのデータ型を使用してApache Airflow のデータを表示し、複雑なフィルタ、集計、その他の操作を自動的に処理することで、CData JDBC Driver はApache Airflow のデータへのシームレスなアクセスを提供します。

前提条件

この記事では、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/ に、Apache Airflow 用の JDBC Driver を %DREMIO_HOME%/jars/3rdparty にインストールします。以下のようなコマンドを使用できます。

ARP コネクタ

docker cp PATH\TO\dremio-api-plugin-{DREMIO_VERSION}.jar dremio_image_name:/opt/dremio/jars/

Apache Airflow 用 JDBC Driver

docker cp PATH\TO\cdata.jdbc.api.jar dremio_image_name:/opt/dremio/jars/3rdparty/

Apache Airflow への接続

これで、Dremio の外部ソースオプションに Apache Airflow が表示されるようになりました。ビルドした ARP コネクタは、JDBC URL を使用してApache Airflow のデータに接続します。JDBC Driver には、接続文字列を作成できるビルトインの接続文字列デザイナーがあります(以下を参照)。

CData JDBC Driver 経由の外部ソース(Amazon DynamoDB と Couchbase を表示)

ビルトイン接続文字列デザイナー

JDBC URL の構成については、Apache Airflow JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。

java -jar cdata.jdbc.api.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

まず、Profile 接続プロパティをディスク上の ApacheAirflow プロファイルの場所に設定します(例:C:\profiles\ApacheAirflow.apip)。次に、ProfileSettings 接続プロパティを ApacheAirflow の接続文字列に設定します(以下を参照)。

ApacheAirflow API プロファイル設定

Apache Airflow 3 では、API 認証に JWT Bearer トークンを使用します。トークンは、Airflow Web UI の「Settings」から生成するか、Airflow CLI の airflow users create と /api/v2/auth/token エンドポイントを使って生成できます。なお、このプロファイルは /api/v2 REST API を使用する Apache Airflow 3.x を対象としています。Airflow 2.x で使われていた従来の /api/v1 エンドポイントには対応していません。

以下の接続プロパティを設定すると、接続できるようになります。

  • AuthScheme:APIKey に設定します。
  • APIKey:Apache Airflow の JWT Bearer トークンに設定します。
  • Server:Airflow インスタンスのベース URL に設定します(例:http://localhost:8080)。
ビルトイン接続文字列デザイナーを使用して JDBC URL を生成(Salesforce の例)

NOTE:Dremio で JDBC Driver を使用するには、ライセンス(正式版または評価版)とランタイムキー(RTK)が必要です。このライセンス(または評価版)の取得については、営業チームにお問い合わせください。

ランタイムキー(RTK)を JDBC URL に追加します。最終的に、以下のような JDBC URL になります。

jdbc:api:RTK=5246...;Profile=C:\profiles\ApacheAirflow.apip;AuthScheme=APIKey;ProfileSettings='APIKey=your_jwt_token;Server=http://localhost:8080';

Apache Airflow に外部ソースとしてアクセス

Apache Airflow を外部ソースとして追加するには、新しいソースを追加するためにクリックし、API を選択します。JDBC URL をコピーして、New API Source ウィザードに貼り付けます。

JDBC URL の入力(Amazon DynamoDB の例)

接続を保存すれば、Dremio でリアルタイムApache Airflow のデータをクエリする準備が整い、Apache Airflow のデータをデータレイクに簡単に取り込むことができます。

Dremio でのリアルタイムデータ(Amazon DynamoDB の例)

詳細情報と無償トライアル

Dremio で CData API Driver for JDBC を使用すると、リアルタイムApache Airflow のデータをデータレイクに取り込むことができます。Apache Airflow への接続の詳細については、CData API Driver for JDBC ページをご覧ください。CData API Driver for JDBC の30日間無償トライアルをダウンロードして、今すぐ始めましょう。

はじめる準備はできましたか?

API Driver で Apache Airflow のライブデータに接続

Apache Airflow に接続