BIRT でApache Airflow のデータのレポートを作成

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
組み込み分析にApache Airflowのリアルタイムデータを提供。

CData JDBC Driver for Apache Airflow は、データドリブンな Java アプリケーションにApache Airflow API への接続機能を統合します。CData JDBC Driver for Apache Airflow を BIRT(Business Intelligence Reporting Tools)プラットフォームと組み合わせることで、データの変更をリアルタイムに反映する BIRT レポートを作成できます。

  1. まだインストールしていない場合は、BIRT Framework プラグインと Database Development プラグインを Eclipse にインストールします。
  2. 「File」->「New」->「Report」をクリックします。Report Design パースペクティブが開きます。
  3. Data Explorer で「Data Sources」を右クリックし、「New Data Source」をクリックします。
  4. 「Create from a Data Source Type in the Following List」オプションを選択し、「JDBC Data Source」を選択します。
  5. 「Manage Drivers」をクリックし、インストールフォルダの lib サブフォルダにあるドライバー JAR を追加します。
  6. 「Database URL」ボックスに、接続文字列を含む JDBC URL を入力します。

    まず、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';
    
  7. 「Data Sets」フォルダを右クリックし、Apache Airflow用の JDBC データソースを選択します。
  8. 表示されるダイアログで、レポート用のデータを取得する SELECT クエリを作成します。この記事では以下のクエリを使用します:
    
    SELECT DagRunId, State FROM DagRuns WHERE DagId = 'example_dag'
    
  9. 「Palette」からエディターにチャートをドラッグします。チャートウィザードが表示されます。
  10. チャートタイプを選択した後、「Select Data」タブでカラムをチャートフィールドにドラッグします。
  11. 「Run」->「View Report」->「In Web Viewer」をクリックしてレポートを表示します。

これで、BIRT レポートがApache Airflow のデータの更新を反映できるようになりました。 オンデマンドで更新できる BIRT レポート(画像は Salesforce の例)

レポートをアプリケーションサーバーに公開するには、ドライバー JAR を BIRT Viewer のクラスパスに追加します。詳細については、Java アプリケーションサーバーへの JDBC ドライバのデプロイに関する CData KB ガイドを参照してください。

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

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

Apache Airflow に接続