Pentaho Report Designer でApache Airflow のデータを連携利用

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Pentaho BI ツールでApache Airflow のデータをもとにしたレポートを公開。



CData JDBC Driver for Apache Airflow のデータ を使えば、ダッシュボードやレポートからリアルタイムデータにアクセスできます。この記事では、Apache Airflow のデータにJDBC データソースとして接続し、Pentaho でApache Airflow のデータをもとにしたレポートを公開する方法を説明します。

接続してレポートを作成

  1. インストールディレクトリのlib サブフォルダ内にあるドライバーのJAR ファイルを、Pentaho ディレクトリ内の\Report-Designer\lib\jdbc\ フォルダにコピーします。
  2. \Report-Designer\ フォルダ内のreport-designer.bat ファイルを実行してReport-Designer UI を開きます。
  3. Data -> Add Data Source -> Advanced -> JDBC(Custom)をクリックし、新しいApache Airflow 接続を作成して、ドライバーで新しいデータソースを作成します。 表示されるダイアログで、以下のように接続プロパティを設定します。

    • Custom Connection URL property:JDBC URL を入力します。JDBC URL はjdbc:api: で始まり、その後にセミコロン区切りで接続プロパティを指定します。

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

      
      java -jar cdata.jdbc.api.jar
      

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

      組み込みの接続文字列デザイナーを使ってJDBC URL を生成(図はSalesforce)

      JDBC URL を設定する際、Max Rows 接続プロパティの設定も検討してください。これにより返される行数が制限されます。特にレポートやビジュアライゼーションを設計する際のパフォーマンス向上に役立ちます。

      一般的なJDBC URL は次のとおりです:

      jdbc:api:Profile=C:\profiles\ApacheAirflow.apip;AuthScheme=APIKey;ProfileSettings='APIKey=your_jwt_token;Server=http://localhost:8080';
    • Custom Driver Class Name:cdata.jdbc.api.APIDriver を入力します。
    • User Name:認証に使用するユーザー名。
    • Password:認証に使用するパスワード。
    JDBC URL で定義される必須の接続プロパティ(図はSalesforce)

レポートにApache Airflow のデータを追加

Apache Airflow のデータをもとにレポートを作成する準備が整いました。

  1. レポートにApache Airflow のソースを追加します。Data -> Add Data Source -> JDBC をクリックしてデータソースを選択します。

  2. クエリを設定します。この記事では以下のクエリを使用します:

    SELECT DagRunId, State FROM DagRuns WHERE DagId = 'example_dag'
    JDBC データソース構成ウィザードで指定したデータ取得クエリ(図はSalesforce)
  3. レポートにチャートをドラッグし、ダブルクリックしてチャートを編集します。レポートを実行してチャートを表示します。このクエリの結果を使用して、DagRuns テーブルのシンプルなチャートを作成できます。
  4. 最後に、レポートを実行してチャートを確認します。
最新データで生成されたチャート(図はSalesforce)

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

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

Apache Airflow に接続